Bagaimana saya melihat apakah database saya memiliki indeks?
Bagaimana dengan tabel tertentu?
mysql
indexing
database-schema
Blankman
sumber
sumber
Jawaban:
Untuk melihat indeks untuk tabel tertentu, gunakan SHOW INDEX:
Untuk melihat indeks untuk semua tabel dalam skema tertentu, Anda dapat menggunakan tabel STATISTICS dari INFORMATION_SCHEMA:
Menghapus klausa di mana akan menampilkan semua indeks di semua skema.
sumber
DISTINCT
kata kunci akan menutupi beberapa indeks - Saya memiliki tabel di mana indeks memiliki nama yang sama tetapi digunakan pada dua kolom yang berbeda, jadi contoh skema informasi di sini hanya akan menampilkan satu indeks.from mydb
seperti yang ditunjukkan dalam jawaban LiorK.Jika Anda ingin melihat semua indeks di semua database sekaligus:
sumber
SELECT * FROM information_schema.statistics;
Lihat dokumentasi .
sumber
Anda bisa menggunakan kueri ini untuk mendapatkan no of indexes serta nama-nama indeks dari setiap tabel dalam database yang ditentukan.
sumber
Saya mengusulkan pertanyaan ini:
Anda menemukan semua Indeks hanya indeks.
Menganggap.
sumber
Untuk mendapatkan semua kolom yang diindeks per indeks dalam satu kolom dalam urutan urutan.
Ref: http://blog.9minutesnooze.com/mysql-information-schema-indexes/
sumber
Untuk memeriksa semua indeks yang dinonaktifkan pada db
sumber
Anda dapat memeriksa indeks di MySQL workbench. Di bawah tab laporan kinerja, Anda dapat melihat semua indeks yang digunakan dan indeks yang tidak digunakan pada sistem. atau Anda dapat memecat kueri.
sumber
Ini berfungsi dalam kasus saya untuk mendapatkan nama tabel dan nama kolom di tabel terkait untuk bidang yang diindeks.
sumber