oracle数据库中如何查看已经创建的索引信息?

 我来答
kaixingui2012
2015-11-09 · TA获得超过4.2万个赞
知道大有可为答主
回答量:1.4万
采纳率:81%
帮助的人:6458万
展开全部

oracle对于数据库中的表信息,存储在系统表中。查询已创建好的表索引,可通过相应的sql语句到相应的表中进行快捷的查询:

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

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

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

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

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

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

PS:dbms_metadata.get_ddl还可以得到建表语句,如:

SELECT DBMS_METADATA.GET_DDL('TABLE','表名', ['用户名']) FROM DUAL ; //取单个表的建表语句,['用户名']可不输入,默认为登录用户
SELECT DBMS_METADATA.GET_DDL('TABLE',u.table_name) FROM USER_TABLES u; //取用户下所有表的建表语句

当然,也可以用pl/sql developer工具来查看相关的表的各种信息。

包飞风7B
2011-07-30 · TA获得超过1840个赞
知道小有建树答主
回答量:368
采纳率:100%
帮助的人:219万
展开全部
可以查看数据字典 dba_indexes all_indexes user_indexes 来查看索引这三个字典都可以查到执行查询的当前用户的索引信息,不同的是查询范围依次减少 user_indexes 只能看到当前用户的索引对象,还可以结合dba_ind_columns(all_\user_)视图来查看更详细的信息
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
josonchen
2011-07-30 · TA获得超过223个赞
知道小有建树答主
回答量:214
采纳率:0%
帮助的人:163万
展开全部
如果不太熟悉oracle,建议使用工具软件,如pl/sql developer,连接以后,选择查看索引对象。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友2ab29ef
2011-07-31
知道答主
回答量:18
采纳率:0%
帮助的人:4.3万
展开全部
你也可以查看EM,在Administration中Schema对象中Database Objects下有个Indexes,里面是各用户表的索引信息,很全很清晰的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
dalong19830828
2015-09-21 · TA获得超过846个赞
知道小有建树答主
回答量:854
采纳率:66%
帮助的人:425万
展开全部
select * from all_objects where object_type='INDEX' AND OWNER='SCOTT';
OR
SELECT * from all_indexes;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式