0

每当我们触发插入查询时,该特定表都会被锁定一段时间。该时间可以是几微秒或几秒,具体取决于需要在数据库中插入的行。

我正在为一所拥有超过 lac 用户的大学开发应用程序。

我正在处理它,因为最近几天我在谷歌上搜索它,我得到了如下的静态数据

10 simple read query = 1 simple write query

主要问题是notification,每当老师发布一些更新时,我都会通知学生,只有那些感兴趣的学生才会收到通知。因此,一个更新可能有 10000+ 个通知,这肯定需要 3-5 秒(waiting time)。所以所有读取都将在队列中。

那么有什么办法可以缩短等待时间呢?

4

1 回答 1

1

也许您可以使用 InnoDB 代替 MyISAM,因为前者具有行级锁定,而后者在写入时具有表级锁定。如果您使用 InnoDB 作为表引擎,则只有一行被锁定,但任何其他内容仍可能被查看。

于 2012-07-04T10:33:51.830 回答