内容简介:目前 MySQL 的数据库引擎一般使用 InnoDB 和 MyISAM,但两者存在一些差别。网上零零散散的文章看起来比较麻烦,这里以表格汇总对比二者区别。如有纰漏,还望读者在评论区指正。
目前 MySQL 的数据库引擎一般使用 InnoDB 和 MyISAM,但两者存在一些差别。网上零零散散的文章看起来比较麻烦,这里以表格汇总对比二者区别。如有纰漏,还望读者在评论区指正。
| InnoDB | MyISAM | |
|---|---|---|
| MySQL 默认引擎 | :white_check_mark: | :x: |
| 事务 | :white_check_mark: | :x: |
| 并发 |
表级锁 :white_check_mark: 行级锁 :white_check_mark:,采用 MVCC 来支持高并发,有可能死锁 |
表级锁 :white_check_mark: 行级锁 :x: |
| 外键 | :white_check_mark: | :x: |
| 在线热备份 | :white_check_mark: | :x: |
| COUNT (*) | 无 meta-data 缓存,查全表获取 | 有 meta-data 缓存,直接获取 |
| 崩溃恢复 | 通过事务日志来恢复数据库 | 损坏率高,恢复速度慢,不能安全恢复 |
| 其他 | 默认隔离级别是可重复读(REPEATABLE READ),通过多版本并发控制(MVCC)+ 间隙锁(Next-Key Locking)防止幻影读 | 设计简单,数据以紧密格式存储 |
| 索引特性 | 主索引是聚簇索引,在索引中保存了数据,从而避免直接读取磁盘,因此对查询性能有很大的提升。 | DELAY_KEY_WRITE 选项:修改后,新索引数据写入内存中的键缓冲区,清理键缓冲区或者关闭表时才写入磁盘。极大提升写入性能,但崩溃时会造成索引损坏 |
| 全文索引 |
>= MySQL 5.6.4 :white_check_mark: < MySQL 5.6.4 :x: |
:white_check_mark: 支持 BLOB 和 TEXT 的前 500 个字符索引 |
| 自有特性 |
内部优化: 1. 可预测性读加快读操作 2. 自适应哈希索引加速插入操作的插入缓冲区 |
1. 支持压缩表和空间数据索引 2.并发插入(CONCURRENT INSERT):在表有读取操作的同时,也可以往表中插入新的记录 |
以上所述就是小编给大家介绍的《InnoDB 与 MyISAM 的区别》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Beginning XML with DOM and Ajax
Sas Jacobs / Apress / 2006-06-05 / USD 39.99
Don't waste time on 1,000-page tomes full of syntax; this book is all you need to get ahead in XML development. Renowned web developer Sas Jacobs presents an essential guide to XML. Beginning XML with......一起来看看 《Beginning XML with DOM and Ajax》 这本书的介绍吧!