在我的网站上,我有一个1000万行的访问者表。
对网站的每个请求都会向表中插入行,以防表被锁定(通常在优化查询中)访问者无法进入网站
表引擎是MyISAM,我想将其更改为InnoDB
我几乎没有问题:
答案 0 :(得分:18)
最简单的方法是
ALTER TABLE table_name ENGINE = InnoDB;
如果您使用InnoDB引擎,则不必担心锁定表,因为此引擎会按行锁定数据。
答案 1 :(得分:5)
oleksii.svarychevskyi是对的,InnoDB使用行级锁,但如果你这样做
ALTER TABLE table_name ENGINE = InnoDB;要将 table_name 从MyIsam更改为InnoDB,将会有一个元数据锁定(在表级),因为原始表引擎是MyIsam。