sql >> データベース >  >> RDS >> Mysql

MySQLはデータベースにインデックスを表示します

    多くの場合、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;	
    

    うまくいけば、My​​SQLでインデックスを簡単に一覧表示できるようになりました。

    Ubiqを使用すると、データを数分で簡単に視覚化し、リアルタイムのダッシュボードで監視できます。今日お試しください。

    1. SQL Serverエラー109:INSERTステートメントには、VALUES句で指定された値よりも多くの列があります

    2. Microsoft Access –基本

    3. Laravel移行エラー:構文エラーまたはアクセス違反:1071指定されたキーが長すぎました。キーの最大長は767バイトです

    4. 番号へのoraclevarchar