1

サーバー上でcronジョブとして実行されているnode.jsスクリプトがあります。

外部ソースからデータを非同期に受信し (複数の同時リクエスト)、UPDATE クエリがセミコロンで区切られた複数のクエリ ステートメントでデータベースを更新します。

1 つの 8000-UPDATES マルチクエリは、約 55 秒実行されます。

データベースの更新プロセス全体を何とかスピードアップする方法はありますか?

単一のクエリは非常に単純です-のように

 UPDATE my_table SET field1 = smth WHERE id = some_id;

idフィールドのインデックスが作成されます。

4

1 に答える 1

1

実行されるクエリの数を減らすことが、最大のメリットになります。おそらくINSERT...ON DUPLICATE KEY UPDATEですか?

INSERT INTO my_table (id, field1) 
    VALUES
        (1, 'smth'),
        (10, 'smth2'),
        (88, 'smth3'),
        (23, 'smth4'),
        (68, 'smth5')
    ON DUPLICATE KEY UPDATE
        id = VALUES(id),
        field1 = VALUES(field1);
于 2013-04-14T02:49:05.707 に答える