
根据表名,查询一张表的索引:
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中,索引是干什么用的等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)