जवाबों:
एक विशिष्ट तालिका उपयोग के लिए सूचकांक को देखने के लिए SHOW INDEX:
SHOW INDEX FROM yourtable;
किसी विशिष्ट स्कीमा के भीतर सभी तालिकाओं के लिए अनुक्रमणिका देखने के लिए आप INFORMATION_SCHEMA से सांख्यिकी तालिका का उपयोग कर सकते हैं:
SELECT DISTINCT
TABLE_NAME,
INDEX_NAME
FROM INFORMATION_SCHEMA.STATISTICS
WHERE TABLE_SCHEMA = 'your_schema';
जहां क्लॉज को हटाने से आपको सभी स्कीमा में सभी अनुक्रमित दिखाई देंगे।
DISTINCT
कीवर्ड कुछ इंडेक्स को मास्क करेगा - मेरे पास एक टेबल है जहां एक इंडेक्स का एक ही नाम है लेकिन दो अलग-अलग कॉलम पर उपयोग किया जाता है, इसलिए यहां सूचना स्कीमा उदाहरण केवल एक इंडेक्स दिखाएगा।
from mydb
LiorK के उत्तर में दिखाए गए अनुसार जोड़ना था ।
यदि आप सभी डेटाबेस को एक साथ सभी अनुक्रमित देखना चाहते हैं:
use information_schema;
SELECT * FROM statistics;
SELECT * FROM information_schema.statistics;
आप निर्दिष्ट डेटाबेस में प्रत्येक तालिका के अनुक्रमणिका नामों के साथ-साथ अनुक्रमणिकाओं की संख्या प्राप्त करने के लिए इस क्वेरी का उपयोग कर सकते हैं।
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;
मैं इस प्रश्न का प्रस्ताव करता हूं:
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';
आपने सभी इंडेक्स को केवल इंडेक्स पाया ।
संबंध।
अनुक्रम क्रम में एक कॉलम में सभी अनुक्रमित स्तंभों को प्रति सूचकांक प्राप्त करने के लिए।
SELECT table_name AS `Table`,
index_name AS `Index`,
GROUP_CONCAT(column_name ORDER BY seq_in_index) AS `Columns`
FROM information_schema.statistics
WHERE table_schema = 'sakila'
GROUP BY 1,2;
संदर्भ: http://blog.9minutesnooze.com/mysql-information-schema-indexes/
आप MySQL कार्यक्षेत्र में अपने अनुक्रमित की जांच कर सकते हैं। प्रदर्शन रिपोर्ट टैब को आप सिस्टम पर सभी उपयोग किए गए अनुक्रमित और अप्रयुक्त अनुक्रमित देख सकते हैं। या आप क्वेरी को फायर कर सकते हैं।
select * from sys.schema_index_statistics;