暂无图片
返回数说广场
Bos
2023-08-07
由于CUST_NO列的条件值中可能有前后%,所以,仅仅在CUST_NO列上创建索引,最多也只能是用索引全扫或索引快速全扫,而更大的可能是全表扫描;使用CUST_NO列和TYPE列创建组合索引是适合的,但由于CUST_NO列的条件值中可能有前后%的原因,因此,需要把做等值比较的TYPE列放到前边;如果只用TYPE列做索引,当满足type=:1 and cust_no like :2的记录数与只满足type=:1的记录数相等或非常接近时,那么使用只有TYPE列的索引会取得更高的效率,其原因在于其索引的大小相较于在TYPE和CUST_NO列上创建的组合索引要小得多,故而需要访问索引的数据块会少。但回表的代价是基本相同的。反之,则组合索引会有更好的过滤性,虽然在访问索引时,可能会访问略多一些的索引块,但却可以有更少的回表处理操作。所以,综合考虑,create index ind_t1_1 on t1(type,cust_no);在大部分情形下,都会有更高的效率。
0
暂无图片 1
290
分享

评论

热门数说