कई बार आपको MySQL में सभी इंडेक्स सूचीबद्ध करने या MySQL में सभी इंडेक्स प्रदर्शित करने की आवश्यकता हो सकती है। MySQL में SHOW INDEX कमांड का उपयोग करके MySQL में इंडेक्स दिखाने का तरीका यहां दिया गया है।
MySQL डेटाबेस में इंडेक्स दिखाएं
यहाँ MySQL में अनुक्रमणिका दिखाने के चरण दिए गए हैं। हम डेटाबेस में सभी इंडेक्स को सूचीबद्ध करने के लिए SHOW INDEXES स्टेटमेंट का उपयोग करेंगे।
यहां SHOW INDEXES का सिंटैक्स दिया गया है
SHOW INDEXES FROM table_name;
या
SHOW INDEXES FROM db_name.table_name;
या
SHOW INDEXES FROM table_name in db_name;
या
SHOW KEYS FROM table_name in db_name;
उपरोक्त क्वेरी में, आपको उस तालिका का नाम और डेटाबेस नाम निर्दिष्ट करना होगा जिसके लिए आप अनुक्रमणिका दिखाना चाहते हैं।
बोनस पढ़ें :MySQL डेटाबेस की तुलना करें
MySQL तालिका के लिए अनुक्रमणिका दिखाएं
MySQL में तालिका (जैसे नमूना) के लिए सभी अनुक्रमणिका सूचीबद्ध करने के लिए यहां एक उदाहरण दिया गया है। इसे अपने टेबल नाम से बदलें।
mysql> show indexes from cities in sample; +--------+------------+------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+ | Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment | +--------+------------+------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+ | cities | 0 | PRIMARY | 1 | city_id | A | 0 | NULL | NULL | | BTREE | | | | cities | 1 | country_id | 1 | country_id | A | 0 | NULL | NULL | | BTREE | | | +--------+------------+------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
आउटपुट प्रत्येक इंडेक्स की कई विशेषताओं को प्रदर्शित करता है जिसमें कार्डिनैलिटी, मुख्य नाम, कॉलम नाम आदि शामिल हैं।
बोनस पढ़ें :MySQL Alter Stored प्रक्रिया
MySQL डेटाबेस में सभी तालिकाओं के लिए अनुक्रमणिका दिखाएं
बोल्ड में उल्लिखित एक विशिष्ट MySQL डेटाबेस स्कीमा (उदाहरण के लिए नमूना) में सभी इंडेक्स को सूचीबद्ध करने के लिए SQL क्वेरी यहां दी गई है
mysql> SELECT
DISTINCT TABLE_NAME,
INDEX_NAME
FROM
INFORMATION_SCHEMA.STATISTICS
WHERE
TABLE_SCHEMA = 'sample';
+---------------+---------------+
| TABLE_NAME | INDEX_NAME |
+---------------+---------------+
| categories | PRIMARY |
| cities | PRIMARY |
| cities | country_id |
| countries | PRIMARY |
| old_orders | u_orders |
| orders | PRIMARY |
| orders_list | PRIMARY |
| recent_orders | order_id |
| recent_orders | unique_amount |
| x_orders | PRIMARY |
+---------------+---------------+
बोनस पढ़ें :MySQL सभी प्रक्रियाओं की सूची बनाएं
MySQL शो इंडेक्स साइज
अनुक्रमणिका की लंबाई info_schema.tables तालिका में संग्रहीत है। यहाँ विशिष्ट डेटाबेस 'नमूना' के लिए MySQL में अनुक्रमणिका आकार दिखाने के लिए SQL क्वेरी है। इसे अपने डेटाबेस नाम से बदलें।
mysql> SELECT table_name,
concat( round( data_length / ( 1024 *1024 ) , 2 ) , 'Mb' ) AS 'data_length_mb',
concat( round( index_length / ( 1024 *1024 ) , 2 ) , 'Mb' ) AS 'index_length_mb',
concat( round( round( data_length + index_length ) / ( 1024 *1024 ) , 2 ) , 'Mb' ) AS 'total_size_mb'
FROM information_schema.tables
WHERE table_schema ='sample'
ORDER BY data_length desc;
+----------------+----------------+-----------------+---------------+
| table_name | data_length_mb | index_length_mb | total_size_mb |
+----------------+----------------+-----------------+---------------+
| meeting | 0.02Mb | 0.00Mb | 0.02Mb |
| sample_data | 0.02Mb | 0.00Mb | 0.02Mb |
| ... | ... | ... | ... |
+----------------+----------------+-----------------+---------------+
बोनस पढ़ें :MySQL रूट पासवर्ड रीसेट करें
सभी डेटाबेस स्कीमा के सभी इंडेक्स सूचीबद्ध करें
यहां सभी MySQL डेटाबेस स्कीमा में सभी तालिकाओं की अनुक्रमणिका दिखाने के लिए SQL क्वेरी है, जिस तक आपकी पहुंच है।
SELECT
DISTINCT TABLE_NAME,
INDEX_NAME
FROM
INFORMATION_SCHEMA.STATISTICS;
उम्मीद है, अब आप आसानी से MySQL में अनुक्रमणिका सूचीबद्ध कर सकते हैं।
Ubiq मिनटों में डेटा को विज़ुअलाइज़ करना और रीयल-टाइम डैशबोर्ड में मॉनिटर करना आसान बनाता है। इसे आज ही आजमाएं!