Tergantung pada tujuan Anda dan kuerinya.
Umumnya, untuk setiap baris di EXPLAIN yang memiliki Using where
, Anda harus memilikinya menggunakan indeks (possible keys
dan keys
kolom). Ini adalah filter Anda dan termasuk WHERE dan ON. Setelah itu tertulis Using index
bahkan lebih baik. Artinya ada indeks penutup, dan MySQL dapat mengambil data langsung dari indeks daripada mengunjungi baris dalam data tabel.
Baris di mana tidak ada Using where
, dan itu mengembalikan sejumlah besar baris harus dilihat. Ini mengembalikan nilai untuk semua baris dalam tabel. Saya tidak tahu apa pertanyaan Anda, jadi saya tidak tahu apakah harus waspada di sini. Coba filter kumpulan hasil untuk mengurangi ukuran dan meningkatkan kinerja.
Anda biasanya harus mencoba untuk menghindari melihat Using filesort
atau Using temporary
, meskipun itu hanya buruk jika Anda tidak mengharapkannya.
Filesort biasanya muncul dengan klausa ORDER. Anda biasanya ingin MySQL menggunakan indeks penutup (Using index
) sehingga baris dikembalikan secara berurutan dari server. Jika tidak, maka MySQL harus memesannya setelahnya, menggunakan filesort.
Using temporary
bisa menjadi buruk ketika merujuk ke tabel turunan karena mereka tidak memiliki indeks. Tampaknya Anda telah secara eksplisit membuat tabel sementara dengan indeks, jadi di sini, itu tidak buruk. Terkadang, satu-satunya pilihan Anda adalah menggunakan tabel turunan, dan karenanya Using temporary
.