Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有一个当前使用 MyISAM 的 MySQL 数据库,但我正在考虑切换到 InnoDB,因为它的流量很高,并且对同一个表进行了大量写入,这导致访问者的加载时间变慢,然后必须等待每次写入在整个表被锁定时完成。
如果我更改为 InnoDB,它会自动使用行级锁定而不是表锁定吗?或者我必须进行任何查询修改。
谢谢 :)
它对写操作具有自动行级锁定。如果您的写入次数多于读取次数,那么这是比 MyIsam 更好的选择。您无需更改查询。但是你可以做其他的改变方法。如果您插入的数据对立即查看并不重要,那么您可以留在 MyISam 上并使用INSERT DELAYED方法。我们在 highload 项目中使用了它,它在非常大的桌子上表现出色。
INSERT DELAYED