Tergantung; jalankan keduanya untuk mencari tahu; lalu jalankan 'jelaskan pilih' untuk penjelasan.
Perbedaan kinerja yang sebenarnya dapat berkisar dari "hampir tidak ada" hingga "cukup signifikan" tergantung pada berapa banyak baris di A dengan id='12345' tidak memiliki catatan yang cocok di B dan C.
Perbarui (berdasarkan rencana kueri yang diposting)
Saat Anda menggunakan INNER JOIN, tidak masalah (dari segi hasil, bukan dari segi kinerja) tabel mana yang harus dimulai, jadi pengoptimal mencoba memilih tabel yang menurutnya akan berkinerja terbaik. Tampaknya Anda memiliki indeks di semua kolom PK/FK yang sesuai dan Anda juga tidak memiliki indeks di friend_events.userid
atau terlalu banyak record dengan userid = '13006'
dan itu tidak digunakan; pengoptimal memilih tabel dengan lebih sedikit baris sebagai "dasar" - dalam hal ini zcms_users
.
Saat Anda menggunakan LEFT JOIN tidak masalah (dari segi hasil) tabel mana yang harus dimulai; jadi friend_events
dipetik. Sekarang mengapa dibutuhkan lebih sedikit waktu seperti itu. Saya tidak begitu yakin; Saya menebak friend_events.userid
kondisi membantu. Jika Anda menambahkan indeks (apakah itu benar-benar varchar, btw? bukan numerik?) Pada itu, INNER JOIN Anda mungkin berperilaku berbeda (dan menjadi lebih cepat) juga.