求一个建议:关于建索引的方案
zxwl 2005-12-04 11:35:08 where status_code = '201' and in_time > sysdate - 1
2个条件中,无论先后顺序怎么写,都只用到了status_code上的索引,而用不到in_time上的索引但是,只用status_code上的索引,速度很慢,所以不得不再建一个复合索引(status_code,in_time),这样速度可以满足要求。
【主要问题:】这样是不是浪费空间啊,感觉浪费了一倍的空间,有什么好的方案呢?
我想在不建复合索引的条件下,用上两个索引。
因为用上了in_time上的索引,速度明显提高(该生产库存放60天左右的数据)
但如果指定仅仅使用in_time上的索引,速度上还是达不到要求。
另外,我想问一下status_code的可选值只有4种,有必要建索引么?好像有印象说,大表取大量数据最好不用索引,平均取1/4的数据算大量了吧?
我单独试了一下where status_code = '201' 这个条件,
速度还不如where status_code||'' = '201'来的快