Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在数百万个项目的操作之间加快速度?_Php_Mysql_Sql - Fatal编程技术网

Php 如何在数百万个项目的操作之间加快速度?

Php 如何在数百万个项目的操作之间加快速度?,php,mysql,sql,Php,Mysql,Sql,我在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 现在我

我在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
现在我正在执行操作:

更新my_table SET label=“xxx”,其中datetime介于2019-10-01之间 13:00:00'和'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'
您可以在
datetime
上添加索引:

CREATE INDEX idx_my_table_datetime ON my_table(datetime);