1

我有 node.js 脚本,它在服务器上作为 cron 作业运行。

它异步接收来自外部源的数据(几个同步请求)并使用多个查询语句更新数据库,其中 UPDATE 查询用分号分隔。

一个 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 回答