如何查看個人數據庫是否有任何索引? 數據庫
對於特定的桌子怎麼樣? 性能
我建議這個查詢: spa
SELECT DISTINCT s.* FROM INFORMATION_SCHEMA.STATISTICS s LEFT OUTER JOIN INFORMATION_SCHEMA.TABLE_CONSTRAINTS t ON t.TABLE_SCHEMA = s.TABLE_SCHEMA AND t.TABLE_NAME = s.TABLE_NAME AND s.INDEX_NAME = t.CONSTRAINT_NAME WHERE 0 = 0 AND t.CONSTRAINT_NAME IS NULL AND s.TABLE_SCHEMA = 'YOUR_SCHEMA_SAMPLE';
您找到了全部僅索引索引。 code
看待。 orm
您可使用此查詢來獲取索引的數量以及指定數據庫中每一個表的索引名稱。 索引
SELECT TABLE_NAME, COUNT(1) index_count, GROUP_CONCAT(DISTINCT(index_name) SEPARATOR ',\n ') indexes FROM INFORMATION_SCHEMA.STATISTICS WHERE TABLE_SCHEMA = 'mydb' AND INDEX_NAME != 'primary' GROUP BY TABLE_NAME ORDER BY COUNT(1) DESC;
您能夠在MySQL工做臺中檢查索引。在性能報告選項卡下,您能夠看到系統上全部使用的索引和未使用的索引。 或者您能夠觸發查詢。 io
select * from sys.schema_index_statistics;
檢查db上的全部已禁用索引 table
SELECT INDEX_SCHEMA, COLUMN_NAME, COMMENT FROM information_schema.statistics WHERE table_schema = 'mydb' AND COMMENT = 'disabled'
這在個人狀況下適用於在索引字段的相應表中獲取表名和列名。 form
SELECT TABLE_NAME , COLUMN_NAME, COMMENT FROM information_schema.statistics WHERE table_schema = 'database_name';