Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

MySQL Tampilkan Indeks di Database

Sering kali Anda mungkin perlu membuat daftar semua indeks di MySQL atau menampilkan semua indeks di MySQL. Berikut cara menampilkan indeks di MySQL menggunakan perintah SHOW INDEX di MySQL.

MySQL Tampilkan Indeks di Basis Data

Berikut adalah langkah-langkah untuk menampilkan indeks di MySQL. Kami akan menggunakan pernyataan SHOW INDEXES untuk mendaftar semua indeks dalam database.

Berikut sintaks untuk SHOW INDEXES

SHOW INDEXES FROM table_name;

ATAU

SHOW INDEXES FROM db_name.table_name;

ATAU

SHOW INDEXES FROM table_name in db_name;

ATAU

SHOW KEYS FROM table_name in db_name;

Dalam kueri di atas, Anda perlu menentukan nama tabel dan nama database yang ingin Anda tampilkan indeksnya.

Bonus Baca :MySQL Bandingkan Database

MySQL Tampilkan Indeks untuk tabel

Berikut adalah contoh untuk membuat daftar semua indeks untuk tabel (misalnya sampel) di MySQL. Ganti dengan nama tabel Anda.

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

Outputnya menampilkan banyak atribut dari setiap indeks termasuk kardinalitas, nama kunci, nama kolom, dll.

Bonus Baca :MySQL Alter Stored Procedure

MySQL Tampilkan Indeks untuk Semua Tabel di Database

Berikut kueri SQL untuk mencantumkan semua indeks dalam skema database MySQL tertentu (mis. sampel) yang disebutkan dalam tebal

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

Bonus Baca :Daftar MySQL Semua Prosedur

MySQL SHOW INDEX Ukuran

Panjang indeks disimpan dalam tabel information_schema.tables. Inilah kueri SQL untuk menunjukkan ukuran indeks di MySQL untuk 'sampel' basis data tertentu. Ganti dengan nama database Anda.

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

Bonus Baca :MySQL Reset Root Password

Mencantumkan semua Indeks dari Semua Skema Basis Data

Berikut kueri SQL untuk menampilkan indeks semua tabel dalam semua skema database MySQL yang dapat Anda akses.

SELECT
    DISTINCT TABLE_NAME,
    INDEX_NAME
FROM
    INFORMATION_SCHEMA.STATISTICS;	

Mudah-mudahan, sekarang Anda dapat dengan mudah membuat daftar indeks di MySQL.

Ubiq memudahkan untuk memvisualisasikan data dalam hitungan menit, dan memantau di dasbor waktu nyata. Cobalah Hari ini!

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara mendapatkan ID terakhir yang dimasukkan dari tabel MySQL di PHP?

  2. Cara Menggabungkan Dua Tabel di MySQL

  3. Nama tabel dinamis dalam fungsi prosedur tersimpan

  4. Kesalahan di MySQL saat mengatur nilai default untuk DATE atau DATETIME

  5. Bisakah MySQL mengganti banyak karakter?