我在 MySQL 中有表(非常简化):
id | name | datetime | label
1 | a | 2019-10-01 10:00:01 | null
2 | a1 | 2019-10-01 10:00:03 | null
3 | a2 | 2019-10-01 10:00:14 | null
....
4000000 | z1 | 2019-10-01 23:12:41 | null
现在我正在执行操作:
UPDATE my_table SET label = "xxx" WHERE datetime BETWEEN '2019-10-01 13:00:00' AND '2019-10-01 13:30:00'
这样做是正确的,但是需要很长很长的时间(超过 30 秒)。 我怎样才能加快我的操作速度?也许是其他东西而不是“之间”?索引?我应该设置什么索引?
最佳答案
对于此查询:
UPDATE my_table
SET label = "xxx"
WHERE datetime BETWEEN '2019-10-01 13:00:00' AND '2019-10-01 13:30:00'
您可以在日期时间
上添加索引:
CREATE INDEX idx_my_table_datetime ON my_table(datetime);
关于php - 如何加速数百万个项目的BETWEEN操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59125624/