InnoDB 与 MyISAM 的区别

栏目: 数据库 · 发布时间: 6年前

内容简介:目前 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 的区别》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

YES!产品经理(上、下册)

YES!产品经理(上、下册)

汤圆、老马 / 电子工业出版社 / 2011-9-1 / 128.00元

《YES!产品经理(套装上下册)》是一本融合了经管、工具和职场小说特点的图书,作者是国内产品经理咨询界最有实力的团队。 《YES!产品经理(套装上下册)》以职场小说的形式全面介绍产品管理、产品经理相关的知识,所有的问答均放置在设计好的101个情节中,同时每一个情节之间也都有相应的联系,读者能够从具体的情节走向中不但了解到产品管理的完整知识,而且能够深刻感受到一个产品经理的现实工作状态,从知识......一起来看看 《YES!产品经理(上、下册)》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

MD5 加密
MD5 加密

MD5 加密工具

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具