MySQL存储引擎之Myisam和Innodb总结
2017-03-13 11:31
316 查看
1.MyISAM类型的表强调的是性能,其执行数 度比InnoDB类型更快,但是不提供事务支持,InnoDB提供事务支持事务,外部键等高级 数据库功能.事务是一种高级的处理方式,如在一些列增删改中只要哪个出错还可以回滚还原,而MyISAM就不可以了。
2.MyISAM适合查询以及插入为主的应用,InnoDB适合频繁修改以及涉及到安全性较高的应用
3对于自增长的字段,InnoDB中必须包含只有该字段的索引,但是在MyISAM表中可以和其他字段一起建立联合索引
4.清空整个表时,InnoDB是一行一行的删除,效率非常慢。MyISAM则会重建表
5InnoDB支持行锁(某些情况下还是锁整表,如
update table set a=1 where user like '%lee%'
关于MyISAM与InnoDB选择使用:
MYISAM和INNODB是Mysql数据库提供的两种存储引擎。两者的优劣可谓是各有千秋。INNODB会支持一些关系数据库的高级功能,如事务功能和行级锁,MYISAM不支持。MYISAM的性能更优,占用的存储空间少。所以,选择何种存储引擎,视具体应用而定:
1)如果你的应用程序一定要使用事务,毫无疑问你要选择INNODB引擎。但要注意,INNODB的行级锁是有条件的。在where条件没有使用主键时,照样会锁全表。比如DELETE FROM mytable这样的删除语句。
2)如果你的应用程序对查询性能要求较高,就要使用MYISAM了。MYISAM索引和数据是分开的,而且其索引是压缩的,可以更好地利用内存。所以它的查询性能明显优于INNODB。压缩后的索引也能节约一些磁盘空间。MYISAM拥有全文索引的功能,这可以极大地优化LIKE查询的效率。
如果数据量比较大,这是需要通过升级架构来解决,比如分表分库,而不是单纯地依赖存储引擎。
现在一般都是选用innodb了,主要是myisam的全表锁,读写串行问题,并发效率锁表,效率低myisam对于读写密集型应用一般是不会去选用的。
2.MyISAM适合查询以及插入为主的应用,InnoDB适合频繁修改以及涉及到安全性较高的应用
3对于自增长的字段,InnoDB中必须包含只有该字段的索引,但是在MyISAM表中可以和其他字段一起建立联合索引
4.清空整个表时,InnoDB是一行一行的删除,效率非常慢。MyISAM则会重建表
5InnoDB支持行锁(某些情况下还是锁整表,如
update table set a=1 where user like '%lee%'
关于MyISAM与InnoDB选择使用:
MYISAM和INNODB是Mysql数据库提供的两种存储引擎。两者的优劣可谓是各有千秋。INNODB会支持一些关系数据库的高级功能,如事务功能和行级锁,MYISAM不支持。MYISAM的性能更优,占用的存储空间少。所以,选择何种存储引擎,视具体应用而定:
1)如果你的应用程序一定要使用事务,毫无疑问你要选择INNODB引擎。但要注意,INNODB的行级锁是有条件的。在where条件没有使用主键时,照样会锁全表。比如DELETE FROM mytable这样的删除语句。
2)如果你的应用程序对查询性能要求较高,就要使用MYISAM了。MYISAM索引和数据是分开的,而且其索引是压缩的,可以更好地利用内存。所以它的查询性能明显优于INNODB。压缩后的索引也能节约一些磁盘空间。MYISAM拥有全文索引的功能,这可以极大地优化LIKE查询的效率。
如果数据量比较大,这是需要通过升级架构来解决,比如分表分库,而不是单纯地依赖存储引擎。
现在一般都是选用innodb了,主要是myisam的全表锁,读写串行问题,并发效率锁表,效率低myisam对于读写密集型应用一般是不会去选用的。
相关文章推荐
- MySQL存储引擎MyISAM与InnoDB区别总结整理
- Mysql更换MyISAM存储引擎为Innodb的操作记录总结
- 170309、MySQL存储引擎MyISAM与InnoDB区别总结整理
- MySQL存储引擎Innodb和MyISAM对比总结
- MySQL存储引擎MyISAM与InnoDB区别总结整理
- MySQL存储引擎InnoDB和MyISAM对比总结
- MySQL存储引擎Innodb和MyISAM对比总结
- 常用Mysql存储引擎--InnoDB和MyISAM简单总结
- MySQL存储引擎之Myisam和Innodb总结
- Mysql 存储引擎中InnoDB与MyISAM的主要区别
- MySQL存储引擎中的MyISAM和InnoDB
- MySQL 存储引擎InnoDB和MyISAM的区别
- mysql存储引擎MyISAM和InnoDB
- 浅谈MySQL存储引擎选择 InnoDB与MyISAM的优缺点分析
- mysql 存储引擎 myisam innodb 区别
- mysql存储引擎myisam和innodb的区别
- MySQL - 存储引擎的 InnoDB 与 MyISAM 之争
- MySQL存储引擎MyISAM与InnoDB的优劣
- MySQL两大存储引擎:MyISAM和InnoDB
- Mysql 的存储引擎,myisam和innodb的区别