如何查询Oracle数据库中已经创建的索引

如何查询Oracle数据库中已经创建的索引,第1张

根据表名,查询一张表的索引

select from user_indexes where table_name=upper('表名')。

根据索引号,查询表索引字段

select from user_ind_columns where index_name=('索引名')。

根据索引名,查询创建索引的语句:

select dbms_metadataget_ddl('INDEX','索引名', ['用户名']) from dual ; --['用户名']可省,默认为登录用户。

Oracle数据库产品为财富排行榜上的前1000家公司所采用,许多大型网站也选用了Oracle系统。

甲骨文股份有限公司(Oracle)是全球大型数据库软件公司,总部位于美国加州红木城的红木岸。在2008年,甲骨文股份有限公司是继Microsoft及IBM后,全球收入第三多的软件公司。

1 b-tree索引

Oracle数据库中最常见的索引类型是b-tree索引,也就是B-树索引,以其同名的计算科学结构命名。CREATE

INDEX语句时,默认就是在创建b-tree索引。没有特别规定可用于任何情况。

2 位图索引(bitmap index)

位图索引特定于该列只有几个枚举值的情况,比如性别字段,标示字段比如只有0和1的情况。

3 基于函数的索引

比如经常对某个字段做查询的时候是带函数 *** 作的,那么此时建一个函数索引就有价值了。

4 分区索引和全局索引

这2个是用于分区表的时候。前者是分区内索引,后者是全表索引

5 反向索引(REVERSE)

这个索引不常见,但是特定情况特别有效,比如一个varchar(5)位字段(员工编号)含值

(10001,10002,10033,10005,10016)

这种情况默认索引分布过于密集,不能利用好服务器的并行

但是反向之后10001,20001,33001,50001,61001就有了一个很好的分布,能高效的利用好并行运算。

6HASH索引

HASH索引可能是访问数据库中数据的最快方法,但它也有自身的缺点。集群键上不同值的数目必须在创建HASH集群之前就要知道。需要在创建HASH集群的时候指定这个值。使用HASH索引必须要使用HASH集群。

索引是建立在表的一列或多个列上的辅助对象,目的是加快访问表中的数据;Oracle存储索引的数据结构是B树,位图索引也是如此,只不过是叶子节点不同B数索引;索引由根节点、分支节点和叶子节点组成,上级索引块包含下级索引块的索引数据,叶节点包含索引数据和确定行实际位置的rowid。

使用索引的目的:

1、加快查询速度

2、减少I/O *** 作

3、消除磁盘排序

4、何时使用索引

5、查询返回的记录数

6、排序表<40%

7、非排序表 <7%

8、表的碎片较多(频繁增加、删除)

Oracle中建立索引,会提高查询速度:

create index 索引名 on 表名(列名);

例如:

create index index_userid on tbl_detail(userid);

以上就是关于如何查询Oracle数据库中已经创建的索引全部的内容,包括:如何查询Oracle数据库中已经创建的索引、oracle数据库索引种类,分别什么情况下使用、oracle中,索引是干什么用的等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9870628.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-02
下一篇2023-05-02

发表评论

登录后才能评论

评论列表(0条)

    保存