MySql存储引擎MyISAM和InnoDB的区别

  MyISAM和InnoDB是目前使用最频繁的两种存储引擎。

alter table tablename engine=MYISAM; //修改表的存储引擎,tablename = 表的名字

 

MyISAM

InnoDB

文件构成

frm(表元数据描述文件)、MYD(数据文件)、MYI(索引文件)

frm(表元数据描述文件)、ibd(索引和数据文件)

是否支持事务

不支持

支持

计算表行数

select count(*) from table,MyISAM只要简单的读出保存好的行数,注意的是,当count(*)语句包含 where条件时,两种表的操作是一样的

InnoDB 中不保存表的具体行数,也就是说,执行select count(*) from table时,InnoDB要扫描一遍整个表来计算有多少行

 

表锁,SELECT快,UPDATE或INSERT慢

行锁,UPDATE或INSERT快,SELECT慢

你可能感兴趣的:(MySql)