如题,有一加速需求,自己除了遍历之外没什么办法,来 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 、员工人数小于两百,出席天数总计超过十年,包括周六周日。。。
问一下老哥们这种有什么好用的解法吗,我目前这个写法没用上任何索引完全是遍历,感觉慢得出奇,一个搜索执行几分钟。。。