专业编程教程与实战项目分享平台

网站首页 > 技术文章 正文

Oracle 12c 多个索引 oracle的索引有几种,各有何用途

ins518 2024-10-21 07:51:57 技术文章 10 ℃ 0 评论

有BTREE索引、位图索引、函数索引。

在Oracle 12c中,一个列可以同时建多个不同类型的索引,不过在某个时刻只能用一个类型,方法就是先建一个在用的,再建其他类型的索引并用invisible关键字来声明,如果想用的时候就用visible来声明:


原来要更改列的索引类型,必须把已有的索引先删除再新建,这个开销就非常大了,甚至涉及长时间地停止应用,现在完全不需要了。

Oracle 12c 无论是 global还是 local都可以有选择地对部分分区创建索引,语法是在表、分区或子分区级别设置[INDEXING { ON |OFF }]。这样,如果查询条件确定的分区无索引,那直接走全表扫描;如果查询条件可以确定的分区范围内有索引,会直接使用索引(无论是local还是gLobal);如果查询条件未确定分区范围(含索引和无索引分区情况),那该 SQL 语句会在有索引的分区使用索引,在没有索引的区域走全表扫描。


前提条件是对业务要非常熟悉,比如某些分区业务特殊,基本上都是全扫描模式,索引就没有必要存在,如果这些分区没有索引,整个索引体积也会小很多。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表