如何建立索引的问题,快

表b是个上千万的普通表,下面where中的字段全是varchar类型,其中status只有0,1,2这3个不同的值,type有1,8共8种值,date里面从14年1月到现在的时间,这个范围内的值,sql条件如下:b WHERE   b.TYPE IN (1,2)  and b.status = '0' and b.date < '2014-05-14 16:00:...显示全部
表b是个上千万的普通表,下面where中的字段全是varchar类型,
其中status只有0,1,2这3个不同的值,type有1,8共8种值,date里面从14年1月到现在的时间,这个范围内的值,sql条件如下:
b WHERE   b.TYPE IN (1,2)  and
b.status = '0' and b.date < '2014-05-14 16:00:00'





1:如何建立索引??


2:in 不走索引怎么解决?收起
参与9

查看其它 7 个回答drdb2的回答

drdb2drdb2系统工程师se
要看
select count(*) from b where
b WHERE   b.TYPE IN (1,2)  and
b.status = '0' and b.date < '2014-05-14 16:00:00' ;
返回多少rows。

如果大量的rows返回(相对总rows而言), 即便create index, optimizer也不会采用:
因为index通常在query small portion of data才更有效。
最好db2advis一下,先看看optimizer有啥建议。
互联网服务 · 2015-05-16
浏览759

回答者

drdb2
系统工程师se

drdb2 最近回答过的问题

回答状态

  • 发布时间:2015-05-16
  • 关注会员:1 人
  • 回答浏览:759
  • X社区推广