DB2中,像某表添加了索引,可以在数据库的索引目录下找到该索引,但运行该表查询语句的访问方案时,却没有该表的索引。
请问这是什么原因引起的,怎么解决?
在对该表的查询条件中Where是用 ‘=’,如果换成 '>=',则可以看到索引。
runstats on table schema.tablename and detailed indexes all
这个命令在DB2上运行过了,结果还是一样
那这个问题相对来说就较为复杂了。
因为〉=可以用索引,而=的时候,不用。说明数据库的优化引擎还是认为〉=的情况下,使用这个索引成本较低,而=时,成本较高。
如果你一定需要使用该索引,可以有很多方法。
我估计你这个cloumn在造数据时,造的数据是同一个值,索引数据库认为不需要使用索引
你试着在这个列上插入1000个不同的值,然后在做统计,应该=时使用索引的概率较大
谢谢。因为在做测试的时候数据库里面并没有数据,那这个问题是与这个原因有关了 ?
追答那你试一下就知道了