有办法在mysql中执行低优先级更新吗?
我正在运行一个非常高负载的应用程序,在这个应用程序中,可能有成千上万的用户试图并发更新相同的数据记录。这主要是基于会话的统计信息,如果存在与请求相关的等待时间,可以忽略其中的许多信息。我希望能够检查某个表/行是否已锁定,如果是的话,只需将更新查询传递给服务器。这有可能吗?
发布于 2010-01-20 11:33:18
您使用的是哪个数据库引擎?MyISAM还是InnoDB?如果是MyISAM,可以使用以下命令查看锁:
SHOW FULL PROCESSLIST;来源:如何显示mysql锁?
但是,我建议您采取不同的方法。与其有一个单一的争用点,不如为每个插入延迟的数据点插入一个新行。然后,在一天结束时,或者当你需要数据的时候,你可以对所有的事情进行批量处理。请注意,这只适用于MyISAM、内存和归档引擎类型。
来源: dev.mysql.com/doc/refman/5.1/en/insert-delayed.html
我认为这个问题应该在堆栈溢出处解决。你可能会在那里得到更好的回应。
-Geoffrey Lee
https://serverfault.com/questions/104532
复制相似问题