InnoDB和MyISAM的区别
文章来自 shichang // Welcome!
主页
|
About Me
|
归档
|
标签
主要区别: * 存储结构:MyISAM的表索引、数据、表定义是分开存储的,而InnoDB都是存储在一个文件中的。 * 存储空间:MyISAM可以压缩,占据的空间比较小,支持静态表、动态表和压缩表三种。InnoDB要在主内存中建立专用的缓冲池用来缓冲数据,所以占据的内存更多。 * 事务支持:InnoDB支持事务,MyISAM不支持 * 表锁支持:MyISAM只支持表锁,InnoDB支持行级锁,表锁,间隙锁 * 主键:MyISAM允许没有任何索引和主键的表存在,InnoDB主键必须存在,如果用户不设置则自动生成 * 表的行数:MyISAM存储有表的行数,InnoDB没有存这玩意儿,每次都需要遍历表 * 7外键支持:MyISAM不支持外键,InnoDB支持 引擎的选用: 总的来说,MyISAM对读的支持比InnoDB稍微好一点,但是对于一个数据量稍微有些规模的表来说,InnoDB的各种性能都会比MyISAM好得多,所以我们还是用InnoDB。 最大的区别就是,我们用InnoDB不用MyISAM
Pre:
9.26 58集团面试
Next:
Java继承和多态的原理