1

MYSQL Innodb 更新问题:

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

谢谢。

4

3 回答 3

2

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

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

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

于 2011-11-16T08:21:43.130 回答
1

如果您使用 MyISAM 存储引擎存储您的表,那么您的表将在每次更新时锁定

但是,InnoDB 存储引擎能够锁定单个行

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

于 2011-11-16T08:55:25.000 回答
0

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

索引可以加快阅读速度,但会减慢写作速度。大多数数据库的读取量多于写入量,但听起来您的数据库写入量要多得多。

于 2011-11-16T07:42:41.057 回答