NULL vs NOT NULL -- Gunakan NOT NULL kecuali Anda memiliki alasan bisnis untuk NULL .
Gunakan InnoDB dengan PRIMARY KEY yang relevan di setiap meja. Itu mungkin akan lebih cepat.
"Menggunakan indeks", jika masuk akal, akan membantu sebagian orang.
product.categoryid = 4871 tidak termasuk dalam ON klausa untuk vendorimport; pindahkan ke WHERE ayat. (Ini tidak akan mempercepat.)
Permintaan Anda tidak dapat menjadi pengoptimal lebih lanjut -- itu harus lakukan semua GABUNG dan kirim semua baris.
Tapi... Apakah Anda benar-benar menginginkan 3917 baris keluaran? Bisakah Anda menghadapinya? Mungkin Anda hanya menginginkan beberapa dari mereka dan dapat memfilternya selama SELECT? Itu bisa mempercepat.