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!