日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

oracle 字段 查找重复,oracle数据库查询重复的索引列

發(fā)布時間:2024/9/18 数据库 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oracle 字段 查找重复,oracle数据库查询重复的索引列 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

查看有哪些索引含有重復(fù)的字段, 從而讓索引更加合理化!SQL> SELECT /*+ rule */ a .table_owner,a.table_name,a.index_owner,a.index_name,column_name_list,column_name_list_dup,dup duplicate_indexes,i.uniqueness,i.partitioned,i.leaf_blocks,i.distinct_keys,i.num_rows,i.clustering_factorFROM?? (SELECT?? table_owner,table_name,index_owner,index_name,column_name_list_dup,dup,MAX (dup)OVER (PARTITION BY table_owner, table_name, index_name)dup_mxFROM?? (??? SELECT?? table_owner,table_name,index_owner,index_name,SUBSTR (SYS_CONNECT_BY_PATH (column_name, ','),2)column_name_list_dup,dupFROM?? (SELECT?? index_owner,index_name,table_owner,table_name,column_name,COUNT(1)OVER (PARTITION BY index_owner,index_name)cnt,ROW_NUMBER ()OVER (PARTITION BY index_owner,index_nameORDER BY column_position)AS seq,COUNT(1)OVER (PARTITION BY table_owner,table_name,column_name,column_position)AS dupFROM?? sys.dba_ind_columnsWHERE?? (?? index_owner LIKE 'E%'OR index_owner LIKE 'TRIAL%'OR index_owner = 'SCOTT')AND index_owner NOT IN ('EXFSYS'))WHERE?? dup != 1START WITH?? seq = 1CONNECT BY?????? PRIOR seq + 1 = seqAND PRIOR index_owner = index_ownerAND PRIOR index_name = index_name)) a,(??? SELECT?? table_owner,table_name,index_owner,index_name,SUBSTR (SYS_CONNECT_BY_PATH (column_name, ','), 2)column_name_listFROM?? (SELECT?? index_owner,index_name,table_owner,table_name,column_name,COUNT (1)OVER (PARTITION BY index_owner, index_name)cnt,ROW_NUMBER ()OVER (PARTITION BY index_owner, index_nameORDER BY column_position)AS seqFROM?? sys.dba_ind_columnsWHERE?? (?? index_owner LIKE 'E%'OR index_owner LIKE 'TRIAL%'OR index_owner = 'SCOTT')AND index_owner NOT IN ('EXFSYS'))WHERE?? seq = cntSTART WITH?? seq = 1CONNECT BY?????? PRIOR seq + 1 = seqAND PRIOR index_owner = index_ownerAND PRIOR index_name = index_name) b,dba_indexes iWHERE?????? a.dup = a.dup_mxAND a.index_owner = b.index_ownerAND a.index_name = b.index_nameAND a.index_owner = i.ownerAND a.index_name = i.index_nameORDER BY?? a.table_owner, a.table_name, column_name_list_dup;

例如,在scott用戶下面的emp表的empno上創(chuàng)建一個索引,然后再empno,deptno2列上創(chuàng)建復(fù)合索引,使用以上語句,查詢的結(jié)果如下所示

SCOTTEMP01SCOTTI_EMPNO_EMP01EMPNO? ? ? ? ? ? ? ??EMPNO

SCOTTEMP01SCOTTI_EMPNO_DEPTNOEMPNO,DEPTNOEMPNO

與50位技術(shù)專家面對面20年技術(shù)見證,附贈技術(shù)全景圖

總結(jié)

以上是生活随笔為你收集整理的oracle 字段 查找重复,oracle数据库查询重复的索引列的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。