Mysql 存储引擎————MyISAM、InnoDB 使用及区别
2018-07-10 12:20
330 查看
MySQL存储引擎:
1、InnoDB存储引擎
默认事务型引擎,最重要最广泛的存储引擎,性能非常优秀。
数据存储在共享表空间,可以通过配置分开。也就是多个表和索引都存储在一个表空间中,可以通过配置文件改变此配置。
对主键查询的性能高于其他类型的存储引擎。
内部做了很多优化,从磁盘读取数据时会自动构建hash索引,插入数据时自动构建插入缓冲区。
通过一些机制和工具支持真正的热备份。
支持崩溃后的安全恢复。
支持行级锁。
支持外键。
2、MyISAM存储引擎
拥有全文索引、压缩、空间函数。
不支持事务和行级锁、不支持崩溃后的安全恢复。
表存储在两个文件,MYD和MYI。
设计简单,某些场景下性能很好,例如获取整个表有多少条数据,性能很高。
全文索引不是很常用,不如使用外部的ElasticSearch或Lucene。
3、MyISAM和InnoDB的区别
InnoDB支持事务,MyISAM不支持;
InnoDB数据存储在共享表空间,MyISAM数据存储在文件中;
InnoDB支持行级锁,MyISAM只支持表锁;
InnoDB支持崩溃后的恢复,MyISAM不支持;
InnoDB支持外键,MyISAM不支持;
InnoDB不支持全文索引,MyISAM支持全文索引;
ps:大多数场景下建议使用InnoDB存储引擎。
相关文章推荐
- Mysql存储引擎InnoDB和MyISAM几点区别
- mysql存储引擎:InnoDB和MyISAM的区别与优劣
- mysql数据据存储引擎InnoDB和MyISAM的优势及区别
- mysql存储引擎:InnoDB和MyISAM的区别与优劣
- MySQL各存储引擎(INNODB,MyISAM等)的区别及其启动方法
- mysql数据据存储引擎InnoDB和MyISAM的优势及区别
- mysql数据据存储引擎InnoDB和MyISAM的优势及区别
- MySQL存储引擎MyISAM和InnoDB的区别及mysql优化
- MySQL各存储引擎(INNODB,MyISAM等)的区别及其启动方法
- mysql 存储引擎 InnoDB和myisam存储引擎的区别 /(自己小结)
- Mysql 存储引擎中InnoDB与MyISAM的主要区别
- MySQL的存储引擎MyISAM与InnoDB有什么区别?
- MySQL存储引擎 InnoDB 与 MyISAM 的区别
- mysql存储引擎:InnoDB和MyISAM的区别与优劣
- MYSQL的常用存储引擎MyISAM和InnoDB的区别
- Mysql innodb引擎和myisam引擎使用索引区别
- Mysql 存储引擎中InnoDB与Myisam的主要区别
- MySQL各存储引擎(INNODB,MyISAM等)的区别及其启动方法
- mysql数据据存储引擎InnoDB和MyISAM的优势及区别
- mysql存储引擎:InnoDB和MyISAM的区别与优劣(转)