日期:2014-05-16  浏览次数:20336 次

详解Mysql中InnoDB和MyISAM两种表类型的区别

众所周知,InnoDB和MyISAM是mysql中最常用的两种表的类型,MyISAM是默认的类型。它们的区别很多,主要是侧重点不同,InnoDB支持一些高级处理,而MyISAM强调性能,当然强调性能的同时就要牺牲一些东西了。

? 现在对比一下统计行数的语句(select count(*)|(1)|(Primary Key)),在Mysql中新建两个表,分别是MyISAM和InnoDB类型的:

代码
CREATE?TABLE??`Table1`?(
??`id`?
int(11)?NOT?NULL
,
??`name`?
char(50)?character?set?ucs2?default?NULL
,
??
PRIMARY?KEY
??(`id`)
)?ENGINE
=MyISAM?DEFAULT?CHARSET=
latin1

CREATE?TABLE
??`Table2`?(
??`id`?
int(11)?NOT?NULL
,
??`name`?
char(50)?character?set?ucs2?default?NULL
,
??
PRIMARY?KEY
??(`id`)
)?ENGINE
=InnoDB?DEFAULT?CHARSET=latin1
<