多くの場合、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を使用すると、データを数分で簡単に視覚化し、リアルタイムのダッシュボードで監視できます。今日お試しください。