Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

MySQL Hiển thị Chỉ mục trong Cơ sở dữ liệu

Nhiều khi bạn có thể cần liệt kê tất cả các chỉ mục trong MySQL hoặc hiển thị tất cả các chỉ mục trong MySQL. Dưới đây là cách hiển thị các chỉ mục trong MySQL bằng lệnh SHOW INDEX trong MySQL.

MySQL Hiển thị Chỉ mục trong Cơ sở dữ liệu

Dưới đây là các bước để hiển thị các chỉ mục trong MySQL. Chúng tôi sẽ sử dụng câu lệnh SHOW INDEXES để liệt kê tất cả các chỉ mục trong cơ sở dữ liệu.

Đây là cú pháp cho SHOW INDEXES

SHOW INDEXES FROM table_name;

HOẶC

SHOW INDEXES FROM db_name.table_name;

HOẶC

SHOW INDEXES FROM table_name in db_name;

HOẶC

SHOW KEYS FROM table_name in db_name;

Trong truy vấn trên, bạn cần chỉ định tên bảng và tên cơ sở dữ liệu mà bạn muốn hiển thị các chỉ mục.

Phần thưởng đọc:Cơ sở dữ liệu so sánh MySQL

MySQL Hiển thị Chỉ mục cho bảng

Dưới đây là một ví dụ để liệt kê tất cả các chỉ mục cho bảng (ví dụ:mẫu) trong MySQL. Thay thế nó bằng tên bảng của bạn.

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      |         |               |
+--------+------------+------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+

Kết quả hiển thị nhiều thuộc tính của mỗi chỉ mục bao gồm số lượng, tên khóa, tên cột, v.v.

Phần thưởng đã đọc:Quy trình lưu trữ thay thế MySQL

MySQL Hiển thị Chỉ mục cho Tất cả các Bảng trong Cơ sở dữ liệu

Đây là truy vấn SQL để liệt kê tất cả các chỉ mục trong một lược đồ cơ sở dữ liệu MySQL cụ thể (ví dụ:mẫu) được đề cập trong bold

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       |
+---------------+---------------+

Phần thưởng đã đọc:Danh sách tất cả các thủ tục của MySQL

Kích thước INDEX SHOW của MySQL

Độ dài chỉ mục được lưu trữ trong bảng information_schema.tables. Đây là truy vấn SQL để hiển thị kích thước chỉ mục trong MySQL cho ‘mẫu’ cơ sở dữ liệu cụ thể. Thay thế nó bằng tên cơ sở dữ liệu của bạn.

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        |
| ...            | ...            | ...             | ...           |
+----------------+----------------+-----------------+---------------+

Phần thưởng đã đọc:MySQL Reset Root Password

Liệt kê tất cả các Chỉ mục của Tất cả Lược đồ Cơ sở dữ liệu

Đây là truy vấn SQL để hiển thị chỉ mục của tất cả các bảng trong một lược đồ cơ sở dữ liệu MySQL mà bạn có quyền truy cập.

SELECT
    DISTINCT TABLE_NAME,
    INDEX_NAME
FROM
    INFORMATION_SCHEMA.STATISTICS;	

Hy vọng rằng bây giờ bạn có thể dễ dàng liệt kê các chỉ mục trong MySQL.

Ubiq giúp dễ dàng trực quan hóa dữ liệu trong vài phút và theo dõi trong trang tổng quan thời gian thực. Thử nó ngay hôm nay!

  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 - Làm thế nào để thả bảng nếu tồn tại trong cơ sở dữ liệu?

  2. Cách cài đặt WordPress:Phần mềm máy chủ

  3. MySQL là gì?

  4. MySQL Inner Join Query Multiple Table

  5. Sự khác biệt giữa bảng mã utf8mb4 và utf8 trong MySQL là gì?