sql >> データベース >  >> RDS >> Mysql

InnoDBの挿入は非常に遅く、速度が低下します

    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回だけ更新します。

    うまくいったかどうか教えてください



    1. node.jsでフォームがenctype=multipart / form-dataに設定されている場合、MySQLでデータを送信するにはどうすればよいですか?

    2. MySQLの謎:null値はnull以外の文字列と違いはありません

    3. SQLServerでのトランザクションログの重要性

    4. MySQLでprintステートメントをシミュレートするにはどうすればよいですか?