InnoDB menyediakan struktur kunci yang lebih kompleks daripada MyIsam (FOREIGN KEYS
) dan regenerasi kunci sangat lambat di InnoDB. Anda harus menyertakan semua pernyataan pembaruan/penyisipan ke dalam satu transaksi (ini sebenarnya cukup cepat di InnoDB, setelah saya memiliki sekitar 300.000 kueri penyisipan di tabel InnoDb dengan 2 indeks dan butuh waktu sekitar 30 menit, setelah saya menyertakan setiap 10.000 penyisipan ke BEGIN TRANSACTION
dan COMMIT
butuh waktu kurang dari 2 menit).
Saya sarankan untuk menggunakan:
BEGIN TRANSACTION;
SELECT ... FROM products;
UPDATE ...;
INSERT INTO ...;
INSERT INTO ...;
INSERT INTO ...;
COMMIT;
Ini akan menyebabkan InnoDB me-refresh indeks sekali tidak beberapa ratus kali.
Beri tahu saya jika berhasil