多くの場合、MySQLのすべてのインデックスを一覧表示したり、MySQLのすべてのインデックスを表示したりする必要があります。 MySQLでSHOWINDEXコマンドを使用してMySQLでインデックスを表示する方法は次のとおりです。
データベース内のMySQL表示インデックス
MySQLでインデックスを表示する手順は次のとおりです。 SHOW INDEXESステートメントを使用して、データベース内のすべてのインデックスを一覧表示します。
SHOWINDEXESの構文は次のとおりです
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 Compare Databases
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 | | | +--------+------------+------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
出力には、カーディナリティ、キー名、列名など、各インデックスの多くの属性が表示されます。
ボーナスリード:MySQLAlterストアドプロシージャ
データベース内のすべてのテーブルの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リストすべての手順
MySQLSHOWINDEXサイズ
インデックスの長さはinformation_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を使用すると、データを数分で簡単に視覚化し、リアルタイムのダッシュボードで監視できます。今日お試しください。