Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/245.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 延迟MySQL中的频繁更新_Php_Mysql_Deferred Query - Fatal编程技术网

Php 延迟MySQL中的频繁更新

Php 延迟MySQL中的频繁更新,php,mysql,deferred-query,Php,Mysql,Deferred Query,我经常更新一个用户表,该表只设置用户最后一次看到的时间,我想知道是否有一种简单的方法来延迟它们,并在短时间超时(5分钟左右)后将它们分组到单个查询中。这将大大减少对我的用户数据库的查询。如果您执行更新低优先级表…您将确保它仅在不执行任何其他操作时执行更新。除此之外,我认为MySQL中没有太多的选项 另外,它现在是造成了问题还是你只是在优化一些没有问题的东西?就个人而言,如果我要像这样批量更新,我只需将所有ID插入memcached中,并使用cronjob每5分钟更新一次。Wolph的建议应该可以

我经常更新一个用户表,该表只设置用户最后一次看到的时间,我想知道是否有一种简单的方法来延迟它们,并在短时间超时(5分钟左右)后将它们分组到单个查询中。这将大大减少对我的用户数据库的查询。

如果您执行
更新低优先级表…
您将确保它仅在不执行任何其他操作时执行更新。除此之外,我认为MySQL中没有太多的选项


另外,它现在是造成了问题还是你只是在优化一些没有问题的东西?就个人而言,如果我要像这样批量更新,我只需将所有ID插入memcached中,并使用cronjob每5分钟更新一次。

Wolph的建议应该可以做到这一点。也可以创建第二个不带任何索引的表,并将所有数据插入该表中。它甚至可以是内存中的表。然后您可以在重复密钥更新时定期插入表1并从表2中选择*。。。转移到主表。

我非常喜欢您的缓存方法,我将尝试一下。基本上,我将数据保存在缓存中(在我的例子中是Pear cache_Lite),然后我有一个常规的写回服务。