首页 新闻 会员 周边 捐助

索引失败的问题

0
悬赏园豆:50 [已解决问题] 解决于 2018-02-09 18:42

select count(*) from b_tokerclue tc WHERE CASE '6'
WHEN '0' THEN
1=1
WHEN '1' THEN
tc.CreateTime > '2018-01-01'
WHEN '2' THEN
tc.CreateTime < '2018-01-10'
WHEN '3' THEN
tc.TheFirstVisitDate>'2018-01-01'
WHEN '4' THEN
tc.TheFirstVisitDate<'2018-01-10'
WHEN '5' THEN
1>2
WHEN '6' THEN
tc.CreateTime>'2018-01-01' and tc.CreateTime<'2018-01-10'
WHEN '7' THEN
tc.TheFirstVisitDate>'2018-01-01' and tc.TheFirstVisitDate<'2018-01-10'
ELSE
1=1
END;

 

其中CreateTime已经建立了索引,但是查看执行计划为全盘扫码,请问这种情况怎么解决。谢谢各位大神了

魂心的主页 魂心 | 初学一级 | 园豆:99
提问于:2018-01-17 16:06
< >
分享
最佳答案
0

建一个既包含 CreateTime 又包含 TheFirstVisitDate 的索引

收获园豆:50
dudu | 高人七级 |园豆:29333 | 2018-01-17 16:31
其他回答(2)
0

你where这么长.我都替分析器着急..

吴瑞祥 | 园豆:29449 (高人七级) | 2018-01-17 16:14

这个还不算长的呢,有没有见过300多行的

支持(0) 反对(0) 魂心 | 园豆:99 (初学一级) | 2018-01-17 16:19

@魂心: 原因应该是条件有多个.他不知道是可以走索引的.可以试下强制用一个索引.

但那样你其他情况一样没索引的.

支持(0) 反对(0) 吴瑞祥 | 园豆:29449 (高人七级) | 2018-01-17 16:21
0

possible_keys可用索引没有 , 请确定是否正确建立索引

SELECT COUNT(*) FROM x_user u WHERE u.createtime <'2017-12-30' AND u.createtime > '2016-01-01'

select_type | table | type | possible_keys | key | key_len | ref | rows | Extra
SIMPLE | u | range | index_createtime | index_createtime | 5 | null | 9551 | Using where; Using index

、熙和 | 园豆:1508 (小虾三级) | 2018-01-17 18:37
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册