我正在尝试加速一些具有以下特征的mysql(innodb)。
我想要一些关于如何删除锁定以提高性能的建议。我完全不关心不可重复读取或写入顺序。
如果用户 A 然后 B 尝试插入……我不在乎谁先写。如果用户 C 查询最近的记录……我不在乎 C 的查询是否遗漏了 A 或 B 或两者……(只要最终后续查询都会得到两者)如果用户 D 查询最近的记录,而用户 E,F&G 正在尝试递增计数...我不在乎计数列对于“用户 D”是否“准确”...(只要它最终在后续查询中准确)
有人可以描述如何以及在哪里使用 nolock 来实现我想要的行为吗?我不希望 INSERT/UPDATE 减慢 SELECT 的速度,我也不关心彼此之间的读/写顺序。
我不在任何交易中使用此表。
我的使用资料:
95% 的并发用户正在对我的“忙碌”表中的最近 2500 条记录进行过滤查询 这些用户每分钟向“忙碌”表添加(插入)约 200 条记录 将单列增量(更新)增加到 1一次记录……每分钟约 1000 次(每分钟增加约 300 条记录)
“忙碌”表未在任何事务中使用……没有插入/更新被“还原”在后续请求中,可能会删除记录或减少列。
谢谢!