如题,有一加速需求,自己除了遍历之外没什么办法,来 v2 问问老哥
具体需求:
1 、我司有若干员工,目前有一张表内有日期,员工 A,员工 B,员工 C....若干列,第一列是日期,之后每列记录该员工该日是否出席,大概类似下面这样
-------------------------------------
| 日期 | 张三 | 李四 | 王五 | ...
-------------------------------------
| 20180101 | 1 | 1 | 0 | ...
-------------------------------------
| 20180102 | 1 | 1 | 0 | ...
-------------------------------------
| 20180103 | 0 | 1 | 1 | ...
-------------------------------------
| ...
-------------------------------------
表中用 1 和 0 代表该日是否出席
2 、查询需求是,比如“统计张三和李四都出席了,但王五没出席的日期”,select date where a1=1 and a2=1 and a3=0
这种的,特殊的是这个语句需要支持由用户自定义且可能有嵌套,实际执行搜索可能是这样的
select date from ... where a1=1 and a2=1 and (a3=0 or a4=0)
3 、员工人数小于两百,出席天数总计超过十年,包括周六周日。。。
问一下老哥们这种有什么好用的解法吗,我目前这个写法没用上任何索引完全是遍历,感觉慢得出奇,一个搜索执行几分钟。。。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.