Oracle查询优化-05元数据查询
生活随笔
收集整理的這篇文章主要介紹了
Oracle查询优化-05元数据查询
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
5.1列出已創建的表的清單
select * from all_tables ; select * from dba_tables ; select * from user_tables ;5.2 列出表的列
select * from all_tab_columns a ; select * from dba_tab_columns a ; select * from user_tab_columns a ;5.3列出表的索引列
select a.*from all_ind_columns a ; select a.* from dba_ind_columns a ; select a.* from user_ind_columns a5.4 列出表約束
查詢 sys.all_constraints 和 sys.all_cons_columns
select a.TABLE_NAME, a.CONSTRAINT_NAME, b.COLUMN_NAME, a.CONSTRAINT_TYPEfrom all_constraints a, all_cons_columns bwhere a.TABLE_NAME = 'EMP'and a.OWNER = b.OWNERand a.TABLE_NAME = b.TABLE_NAMEand a.CONSTRAINT_NAME = b.CONSTRAINT_NAME;TABLE_NAME CONSTRAINT_NAME COLUMN_NAME CONSTRAINT_TYPE ------------------------------ ------------------------------ -------------------------------------------------------------------------------- --------------- EMP FK_DEPTNO DEPTNO R EMP PK_EMP EMPNO P5.5 列出沒有相應索引的外鍵
列出還有沒有被索引的外鍵的表,例如 判斷EMP表中的外鍵是否被索引。
select a.TABLE_NAME, a.CONSTRAINT_NAME, a.COLUMN_NAME,c.INDEX_NAMEfrom all_cons_columns a, all_constraints b, all_ind_columns cwhere a.TABLE_NAME = 'EMP'and a.OWNER = 'CRM'and b.CONSTRAINT_TYPE = 'R'and a.OWNER = b.OWNERand a.TABLE_NAME = b.TABLE_NAMEand a.CONSTRAINT_NAME = b.CONSTRAINT_NAMEand a.OWNER = c.TABLE_OWNER(+)and a.TABLE_NAME = c.TABLE_NAME(+)and a.COLUMN_NAME = c.COLUMN_NAME(+)and c.INDEX_NAME is null;TABLE_NAME CONSTRAINT_NAME COLUMN_NAME INDEX_NAME ------------------------------ ------------------------------ -------------------------------------------------------------------------------- ------------------------------ EMP FK_DEPTNO DEPTNO5.6 使用SQL來生成SQL
舉例:生成SQL來統計所有表中的行數
select 'select count(1) from ' || table_name || ';' from user_tables ;5.7 在oracle中描述數據字典視圖
列出數據字典視圖和他們的用途
select * from dictionary a order by a.TABLE_NAME ;查詢數據字典中的列
select * from dict_columns a where a.TABLE_NAME = 'V$SQL';總結
以上是生活随笔為你收集整理的Oracle查询优化-05元数据查询的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Oracle查询优化-04插入、更新与删
- 下一篇: Oracle查询优化-07日期运算