Sebagian besar jawaban lain tidak memberikan sesuatu yang konklusif, hanya spekulasi. Jadi, berdasarkan saran bagus dari jawaban @Namphibian
, saya menjalankan EXPLAIN
pada beberapa pertanyaan yang mirip dengan yang ada di OP.
Hasilnya di bawah ini:
EXPLAIN
untuk kueri dengan = 1
:
EXPLAIN
untuk kueri dengan IN(1)
:
EXPLAIN
untuk kueri dengan IN(1,2,3)
:
Seperti yang Anda lihat, MySQL memang mengoptimalkan IN(1)
menjadi sama dengan = 1
dalam jenis kueri ini. jawaban @mes
tampaknya menunjukkan bahwa hal ini mungkin tidak selalu terjadi pada kueri yang lebih kompleks.
Jadi, bagi yang terlalu malas untuk menjalankan EXPLAIN
sendiri, sekarang Anda tahu. Dan ya, Anda mungkin ingin menjalankan EXPLAIN
pada permintaan Anda sendiri untuk memastikan bahwa itu ditangani dengan cara ini. :-)