InnoDBは、MyIsam( FOREIGN KEYS
)よりも複雑なキー構造を提供します )そしてキーの再生成はInnoDBでは本当に遅いです。すべての更新/挿入ステートメントを1つのトランザクションに含める必要があります(InnoDBでは実際には非常に高速です。2つのインデックスを持つInnoDbテーブルに約300000の挿入クエリがあり、10000の挿入ごとに<に囲むと約30分かかりました。 code> BEGIN TRANSACTION およびCOMMIT
2分もかかりませんでした。
使用をお勧めします:
BEGIN TRANSACTION;
SELECT ... FROM products;
UPDATE ...;
INSERT INTO ...;
INSERT INTO ...;
INSERT INTO ...;
COMMIT;
これにより、InnoDBはインデックスを数百回ではなく1回だけ更新します。
うまくいったかどうか教えてください