查詢沒有索引的外來鍵
問題:
生產上曾經出現過因外來鍵上沒有索引導致死鎖情況,經常需要查詢沒有索引的外來鍵,以下給出從網上找到的SQL(忘記出處,見諒),整理於此備用。
column columns format a20 word_wrapped
column table_name format a30 word_wrapped
select decode( b.table_name, NULL, '****', 'ok' ) Status,
a.table_name, a.columns, b.columns
from
( select substr(a.table_name,1,30) table_name,
substr(a.constraint_name,1,30) constraint_name,
max(decode(position, 1, substr(column_name,1,30),NULL)) ||
max(decode(position, 2,', '||substr(column_name,1,30),NULL)) ||
max(decode(position, 3,', '||substr(column_name,1,30),NULL)) ||
max(decode(position, 4,', '||substr(column_name,1,30),NULL)) ||
max(decode(position, 5,', '||substr(column_name,1,30),NULL)) ||
max(decode(position, 6,', '||substr(column_name,1,30),NULL)) ||
max(decode(position, 7,', '||substr(column_name,1,30),NULL)) ||
max(decode(position, 8,', '||substr(column_name,1,30),NULL)) ||
max(decode(position, 9,', '||substr(column_name,1,30),NULL)) ||
max(decode(position,10,', '||substr(column_name,1,30),NULL)) ||
max(decode(position,11,', '||substr(column_name,1,30),NULL)) ||
max(decode(position,12,', '||substr(column_name,1,30),NULL)) ||
max(decode(position,13,', '||substr(column_name,1,30),NULL)) ||
max(decode(position,14,', '||substr(column_name,1,30),NULL)) ||
max(decode(position,15,', '||substr(column_name,1,30),NULL)) ||
max(decode(position,16,', '||substr(column_name,1,30),NULL)) columns
from user_cons_columns a, user_constraints b
where a.constraint_name = b.constraint_name
and b.constraint_type = 'R'
group by substr(a.table_name,1,30), substr(a.constraint_name,1,30) ) a,
( select substr(table_name,1,30) table_name, substr(index_name,1,30) index_name,
max(decode(column_position, 1, substr(column_name,1,30),NULL)) ||
max(decode(column_position, 2,', '||substr(column_name,1,30),NULL)) ||
max(decode(column_position, 3,', '||substr(column_name,1,30),NULL)) ||
max(decode(column_position, 4,', '||substr(column_name,1,30),NULL)) ||
max(decode(column_position, 5,', '||substr(column_name,1,30),NULL)) ||
max(decode(column_position, 6,', '||substr(column_name,1,30),NULL)) ||
max(decode(column_position, 7,', '||substr(column_name,1,30),NULL)) ||
max(decode(column_position, 8,', '||substr(column_name,1,30),NULL)) ||
max(decode(column_position, 9,', '||substr(column_name,1,30),NULL)) ||
max(decode(column_position,10,', '||substr(column_name,1,30),NULL)) ||
max(decode(column_position,11,', '||substr(column_name,1,30),NULL)) ||
max(decode(column_position,12,', '||substr(column_name,1,30),NULL)) ||
max(decode(column_position,13,', '||substr(column_name,1,30),NULL)) ||
max(decode(column_position,14,', '||substr(column_name,1,30),NULL)) ||
max(decode(column_position,15,', '||substr(column_name,1,30),NULL)) ||
max(decode(column_position,16,', '||substr(column_name,1,30),NULL)) columns
from user_ind_columns
group by substr(table_name,1,30), substr(index_name,1,30) ) b
where a.table_name = b.table_name (+)
and b.columns (+) like a.columns || '%'
/
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/18922393/viewspace-696984/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 外來鍵沒有索引哪些DML操作會被阻塞索引
- 10.30 索引,外來鍵索引
- SQL Server索引查詢/掃描沒有出現key lookup的案例淺析SQLServer索引
- 外來鍵欄位未建索引引發的死鎖索引
- 查詢指定使用者的unique,primary索引名/鍵值索引
- Elasticsearch(三):索引查詢Elasticsearch索引
- elasticsearch之多索引查詢Elasticsearch索引
- MYSQL的外來鍵MySql
- [20180926]查詢相似索引.txt索引
- MongoDB慢查詢與索引MongoDB索引
- 【MySQL】MySQL進階(外來鍵約束、多表查詢、檢視、備份與恢復)MySql
- mysql編寫sql指令碼:要求表沒有主鍵,但是想查詢沒有相同值的時候才進行插入MySql指令碼
- 無索引的外來鍵之主表子表DML操作實驗及結論索引
- 多個快遞超時有沒有辦法將快遞查詢出來並生成表格?
- 一個查詢不走索引的例子索引
- laravel 定義模型的區域性查詢作用域方法沒有PhpStorm沒有程式碼提示Laravel模型PHPORM
- 外來鍵的變種
- MySQL索引與查詢優化MySql索引優化
- IndexPatternService 模糊查詢索引 fuzzyQuery分析Index索引
- MySQL查詢為什麼沒走索引?這篇文章帶你全面解析MySql索引
- 理解索引(中):MySQL查詢過程和高階查詢索引MySql
- 主鍵和外來鍵
- UserService 查詢使用者有許可權的關聯索引 queryIndexPatternByUserName分析索引Index
- goland 查詢快捷鍵GoLand
- sqlserver外來鍵SQLServer
- TableStore多元索引,大資料查詢的利器索引大資料
- ElasticSearch分片互動過程(建立索引、刪除索引、查詢索引)Elasticsearch索引
- 什麼情況下需要建立索引? 索引的作用?為什麼能夠提高查詢速度?(索引的原理) 索引有什麼副作用嗎?索引
- Oracle 指令碼 線上哪些索引從來沒有被使用過Oracle指令碼索引
- mysql帶IN關鍵字的查詢MySql
- MySQL 覆蓋索引、回表查詢MySql索引
- indexedDB 通過索引查詢資料Index索引
- indexedDB 內鍵與外來鍵Index
- AppBoxFuture: 二級索引及索引掃描查詢資料APP索引
- 文件驅動 —— 查詢元件:將查詢功能做到極致!你說還有啥沒包含進來?antdv + vue 3.0 全新體驗元件Vue
- UserService 查詢使用者沒許可權的索引,增加臨時許可權queryIndicesNoPermission分析索引
- 新的主鍵和外來鍵的語法
- enq: TM - contention解決之道——外來鍵無索引導致鎖爭用ENQ索引
- 外來鍵約束