发布网友 发布时间:2023-10-16 17:58
共5个回答
热心网友 时间:2024-11-24 22:34
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 al ; --['用户名']可省,默认为登录用户PS:dbms_metadata.get_ddl还可以得到建表语句,如:
当然,也可以用pl/sql developer工具来查看相关的表的各种信息。
热心网友 时间:2024-11-24 22:34
可以查看数据字典 dba_indexes all_indexes user_indexes 来查看索引这三个字典都可以查到执行查询的当前用户的索引信息,不同的是查询范围依次减少 user_indexes 只能看到当前用户的索引对象,还可以结合dba_ind_columns(all_\user_)视图来查看更详细的信息热心网友 时间:2024-11-24 22:35
如果不太熟悉oracle,建议使用工具软件,如pl/sql developer,连接以后,选择查看索引对象。热心网友 时间:2024-11-24 22:35
你也可以查看EM,在Administration中Schema对象中Database Objects下有个Indexes,里面是各用户表的索引信息,很全很清晰的。热心网友 时间:2024-11-24 22:36
select * from all_objects where object_type='INDEX' AND OWNER='SCOTT';