㈠ 某表的一列重复值很多,基数很小时,应该建立什么索引?
--创建Bitmap Index,具体原理参见:B-Tree索引与Bitmap索引的锁代价的比较
例如:
create bitmap index idx_bm_product on products(list_price) tablespace users;
㈡ 某表的一列的数值一直在增大,不是随机的数,应该建什么索引?
--反向索引,即reversed index
例如:
create index idx_rev on test (sal) reverse;
具体使用参见:深入理解Oracle索引(5):反向索引的定义、缺点和适用场景
㈢ 某表的一列在平常SQL中该列都是放在函数里面,为了能用到索引来提高检索速度,该怎么办?
--创建函数索引
例如:
create index idx_fun on emp (upper(name));
--创建Bitmap Index,具体原理参见:B-Tree索引与Bitmap索引的锁代价的比较
例如:
create bitmap index idx_bm_product on products(list_price) tablespace users;
㈡ 某表的一列的数值一直在增大,不是随机的数,应该建什么索引?
--反向索引,即reversed index
例如:
create index idx_rev on test (sal) reverse;
具体使用参见:深入理解Oracle索引(5):反向索引的定义、缺点和适用场景
㈢ 某表的一列在平常SQL中该列都是放在函数里面,为了能用到索引来提高检索速度,该怎么办?
--创建函数索引
例如:
create index idx_fun on emp (upper(name));
本文介绍了针对不同场景下的Oracle表列如何选择合适的索引类型,包括基数小的列使用Bitmap索引,数值递增的列使用反向索引,以及经常用于函数内的列创建函数索引的方法。
:在实践中初步认识3大索引的使用场景&spm=1001.2101.3001.5002&articleId=82479290&d=1&t=3&u=2a78f267f1a54821942ba81b854637da)
1690

被折叠的 条评论
为什么被折叠?



