Mysql
 sql >> база данни >  >> RDS >> Mysql

MySQL Показване на индекси в базата данни

Много пъти може да се наложи да изброите всички индекси в MySQL или да покажете всички индекси в MySQL. Ето как да показвате индекси в MySQL с помощта на команда SHOW INDEX в MySQL.

MySQL показване на индекси в базата данни

Ето стъпките за показване на индекси в MySQL. Ще използваме оператора 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 Procedure

MySQL показва индекси за всички таблици в базата данни

Ето SQL заявката за изброяване на всички индекси в конкретна схема на база данни на MySQL (напр. проба), спомената в удебелен

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 SHOW INDEX Size

Дължината на индекса се съхранява в таблицата information_schema.tables. Ето SQL заявката за показване на размера на индекса в MySQL за конкретна база данни „извадка“. Заменете го с името на вашата база данни.

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 Reset Root Password

Избройте всички индекси на всички схеми на базата данни

Ето SQL заявката за показване на индекси на всички таблици в цялата схема на база данни на MySQL, до която имате достъп.

SELECT
    DISTINCT TABLE_NAME,
    INDEX_NAME
FROM
    INFORMATION_SCHEMA.STATISTICS;	

Надяваме се, че сега можете лесно да изброите индекси в MySQL.

Ubiq улеснява визуализирането на данни за минути и наблюдение в табла за управление в реално време. Опитайте днес!

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да възстановим една MySQL таблица с помощта на mysqldump?

  2. как да получите достъп до командния ред за xampp на Windows

  3. Фатална грешка:операторът [] не се поддържа за низове

  4. FROM_UNIXTIME() Примери – MySQL

  5. Как да съхраня uuid като число?