Anda tidak memiliki indeks selain kunci utama. Anda perlu membuat indeks pada bidang yang Anda gunakan dalam pernyataan WHERE Anda. Jika Anda hanya perlu mengindeks 1 bidang atau kombinasi beberapa bidang bergantung pada SELECT lain yang akan Anda jalankan terhadap tabel itu.
Ingatlah bahwa REGEXP
tidak dapat menggunakan indeks sama sekali, LIKE
dapat menggunakan indeks hanya jika tidak dimulai dengan wildcard (jadi LIKE 'a%'
dapat menggunakan indeks, tetapi LIKE '%a'
tidak bisa), lebih besar dari / lebih kecil dari (<>) biasanya tidak menggunakan indeks juga.
Jadi tinggal code
dan check
bidang. Saya kira banyak baris akan memiliki nilai yang sama untuk check
, jadi saya akan memulai indeks dengan code
bidang. Indeks multi-bidang hanya dapat digunakan dalam urutan yang ditentukan...
Bayangkan indeks dibuat untuk bidang code, check
. Indeks ini dapat digunakan dalam kueri Anda (di mana klausa WHERE berisi kedua bidang), juga dalam kueri dengan hanya code
bidang, tetapi tidak dalam kueri hanya dengan check
lapangan.
Apakah penting untuk ORDER BY id
? Jika tidak, biarkan saja, ini akan mencegah pengurutan dan kueri Anda akan selesai lebih cepat.