我们的网站每天有数百名访问者和数以万计的查询。
因此,数据库中的某些表很少更新,有些表每分钟更新几次,有些表每秒更新约 10 次。
MyISAM 使用表级锁定进行更新,InnoDb 使用行级锁定。
因此,据我了解,对于频繁并发更新(每秒几次更新)的表,最好将它们设为InnoDb,而对于其他表(当然,如果我们不需要事务和外键) )用MyISAM引擎就可以了。
我的想法对吗?
最佳答案
MyISAM 的读取和写入速度更快,但不是同时。换句话说,如果您需要进行大量写入,它会更快,但如果您还想让人们同时读取,则读取器和写入器将相互阻塞,并且可能会出现并发问题。在这种情况下您应该使用 InnoDB,并且大多数 mysql 专家都建议默认使用 InnoDB,因为它被认为比 MyISAM 更可靠,尽管在某些用例下速度较慢。
关于mysql - InnoDb 比 MyISAM 更适合频繁的并发更新和插入,我这样说对吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1722155/