MySQL MyISAM "Table1"有 70% select、13% update 和 0.67% insert 语句近似.
有一个“count_column(int)”用于增加主键计数。(更新语句)
更新“count_column”在“Waiting for table level lock”中进行表选择查询
那么在其他表中分离“count_column”是否会减少“等待表级锁”?
我还需要在带有连接的选择语句中分隔列。
谢谢,Yogs
最佳答案
据我所知,您的锁定问题是 INSERT 的 COUNT,而不是 UPDATE 本身 - 但您必须有大量的 SELECT。你的问题缺少一些细节......
COUNT 确实在 MyISAM 表上进行了优化,如果您遇到问题,您可能应该考虑计数估计或存储此值的内存表:-\但是为 MyISAM 存储了一个精确的行计数,可以非常快速地获得存储引擎,所以你甚至可能用你的解决方案减慢 MySQL 的速度。 “慢”COUNT 对像 InnoDB 这样的引擎有效,因为它们具有事务性。
另一件需要考虑的事情是,将计数存储在表本身的列中是每行的附加列,这是非常糟糕的。
如果您使用触发器来完成,您应该注意 http://dev.mysql.com/doc/refman/5.0/en/faqs-triggers.html#qandaitem-B-5-1-12 :)
关于mysql - 在其他表中分离更新列是否有助于优化(MySQL MyISAM 表)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10752112/