您的位置:首页 > 数据库

SQL Server , Orcale 如何查询数据库或者表中的索引

2016-09-18 13:45 495 查看

SQL Server数据库索引信息查询

-- 查看某個表的索引

SELECT * FROM sys.sysindexes

WHERE id=object_id('RelactionGraph')

 
-- 查看整個庫的索引

SELECT * FROM sys.sysindexes

 
-- 查看所有庫的索引

IF object_id('tempdb..#')IS NOT NULL

    DROP TABLE #

SELECT * INTO # FROM sys.sysindexes WHERE 1=2

 

INSERT INTO #

    EXEC sys.sp_MSforeachdb @command1='Select * from ?.sys.sysindexes'

     

SELECT * FROM #

Oracle数据库索引信息查询

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


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

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

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

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

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

 select dbms_metadata.get_ddl('INDEX','SQL100310102315181') 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/sqldeveloper工具来查看相关的表的各种信息。

查询用户的索引  

select  index_name,table_name,tablespace_name,  

    index_type,uniqueness , status   

    from dba_indexes where owner='TPSHDEV';  
查询用户的索引列  

select index_name,table_name,column_name,  

    index_owner,table_owner  

from dba_ind_columns  

where table_owner='TPSHDEV';  



查询Orcale数据库执行计划


EXPLAIN PLAN FOR 

 

SELECT * FROM PARTY_CUSTOMER WHERE ID = '000000003034' ; --要解析的SQL脚本 

 

SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY); 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐