SQL语句优化(续)
select * from (select mobileNo,...,rownumber() over(order by id) as m from tbizdetail where cast(optTime as varchar(10)) between '2007-07-13' and '2007-07-13' and (branchName ='' or branchName = '广州' or branchName = '深圳') and (bizName ='套餐办理情况查询' or bizName = '开通国际长途情况查询') and (brandName ='动感地带' or brandName = '神州行' or brandName = '全球通')) as a where a.m between 1 and 30
上面是后台打印的SQL语句,tbizdetail表已经有1亿条记录。
or条件中,branchName最多有21个,brandName最多有5个,bizName有三、四百个
用的是db2,分页是这样子吧?都是Varchar类型
请问上面的语句会导致索引失效吗?各位有没有什么好的解决方案啊?投入运行的时候,效率实在太慢了,难以忍受