更新MYSQL InnoDB百万条记录

时间:2011-11-16 07:34:58

标签: mysql innodb database-performance

MYSQL Innodb更新问题:

一旦我收到记录的响应(状态),我需要将响应更新到一个非常大的表(大约100万条记录并将继续增加),这将保持发生可能是每秒100次。我可以知道会有任何性能问题吗?或者我可以修改任何设置以避免表锁定或查询速度缓慢的问题。

感谢。

3 个答案:

答案 0 :(得分:2)

这听起来像是一个设计问题。

而是存储数百万条数据记录的标志(状态记录更新更改),您应该在指向状态记录的数据记录中存储引用。因此,当您更新状态记录时,不需要进一步的数据库操作。此外,当您扫描数据记录时,您应该加入状态记录(如果需要显示)。如果经常发生状态记录更改,则最好更新数百万条数据记录。

也许,我错了,你应该解释db(结构,表记录计数)以获得更准确的答案。

答案 1 :(得分:1)

如果您使用MyISAM存储引擎存储您的表格,那么您的表格将lock with every update

但是,InnoDB存储引擎能够locking individual rows

如果您需要同时UPDATE多个记录,InnoDB可能会更好。

答案 2 :(得分:0)

您在数据库上拥有的任何索引(尤其是聚簇索引)都会降低您的写入速度。

索引加快了阅读速度,但它们减慢了写作速度。大多数数据库读取的内容多于写入,但听起来你的内容更多。