日期:2014-05-16  浏览次数:20417 次

DB2索引问题
    前几天开发中遇到这样一个问题,其实很简单就是通过一个属性作为查找条件查询(此属性为非主键),简单说来就是select a from schema.table where attribute = ‘***’,此table的数据量很大,当时考虑到需要优化性能所以为attribute创建索引,后来在测试中发现此程序执行的速度很慢,开始以为索引未创建成功,后来经查询索引已创建,再深入的分析后发现瓶颈就在此条sql上,每次执行大约需要3秒。
    最后经过分析得出结论,原来是此属性的值太少,导致DB2认为,直接执行比执行索引还要效率高,也就是索引不起效果,后台修改了设计改变了查询条件解决了此问题。
1 楼 ppjava2009 2012-04-20  
建立索引后,需要使用db2expln查看一下索引是否有用上。
博主提到的此属性的值太少导致DB2没有使用此索引,说明此列上有空值,如果有空值是不会收录到索引中的,请问一下是如何改变查询条件解决此问题的?