您的位置:首页 > 其它

EXISTS与in的适用范围及BiTmap和BTree索引的适用范围

2014-02-13 10:13 281 查看
1.EXISTS与in的适用范围:

EXISTS与IN的使用效率的问题,通常情况下采用exists要比 in效率高,因为IN不走索引,但要看实际情况具体使用。

IN适合于外表大而内表小的情况;EXISTS适合于外表小而 内表大的情况。

2.BitMap和BTree的适用范围:

BitMap 适用范围:虽然BitMap索引能够提供较好的查询性能,但是因为BitMap索引在执行DML语句的时候,会锁定相关的bitmapsegment(dsi 402e p210),代价比较大,并且不支持唯一索引。所以它一般只适用于OLAP系统上的那些不常更新,或者根本不会执行DML语句的表上,以及性别这种字段上。

B-Tree 使用范围:对于unique 以及 primary key 一般都使用B-Tree索引,能够提升较高的性能,并且对比与BitMap索引来说,因为每一条Index entry只包含唯一的rowid,所以不需要额外的Lock,经常使用于OLTP系统当中。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: