
为什么使用InnoDB引擎 使用InnoDB的好处
发布日期:2021-05-06 01:36:22
浏览次数:25
分类:技术文章
本文共 867 字,大约阅读时间需要 2 分钟。
- 在服务器的硬件或软件发生问题时,可以不用管数据库发生了什么,不需要执行任何操作就可以直接重启。InnoDb的crash recovery机制会自动的完成在发生故障前的数据变更提交,不会恢复任何已经发生改变但是没有提交的数据。
- InnoDB有它自己的buffer pool去缓存表和索引数据在主存中便于访问。频繁被访问的数据会从内存中直接获取到。缓存可以被用于很多类型的信息并且能提高处理速度。在专门用于数据库的服务器,高达80%的物理内存通常分配给buffer pool。
- 需要外键做一些关联,实现级联更新操作。
- 当你设计你的数据库时为每个表都设置了一个主键。当设计到这些列的操作时会自动的进行优化。在WHERE子句,ORDER BY,GROUP BY还有join操作涉及到主键时会执行的非常快。
- insert,update,delete操作修改的数据会被优化先存储在change buffer中,等过段时间批量的写入磁盘,简化磁盘I/O,允许对同一个表进行并发的读写访问。
- 执行优势不限于大表的长时间查询,当一个表的一个行被反复的访问,InnoDB有一个叫Adaptive Hash Index 自适应Hash索引的特性会让这些数据查询的更快,它就像hash table一样。
- 可以压缩表和相关的索引。
- 你可以创建和删除索引对性能和可用性的影响更小。
- 截断每表文件的表空间非常快,可以释放磁盘空间供操作系统重用,而不是释放系统表空间中只有InnoDB可以重用的空间。
- 在有 DYNAMIC修饰下的blog和text字段会访问的更快。
- 可以通过查询INFORMATION_SCHEMA 表监控引擎内部执行。
- 可以通过查询Performance Schema表监控引擎执行细节。
- 可以混合InnoDB和其他类型的引擎进行查询操作。比如你可以使用join操作连接InnoDB和Memory表在一个查询中。
- 在处理大数据量时能充分利用CPU的性能最大化执行效率。
- InnoDB能处理大数据量,即便是操作系统限制文件在2G也是如此。
参考文献
发表评论
最新留言
能坚持,总会有不一样的收获!
[***.219.124.196]2025年04月02日 20时03分21秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
细数哪些网络用户需要换IP?
2019-03-03
codeforces1307D 1900分最短路
2019-03-03
2020牛客暑期多校训练营(第七场) 待补题
2019-03-03
2020牛客暑期多校训练营(第九场)
2019-03-03
8皇后问题 递归 函数调用是重点
2019-03-03
1541 +1 *2 ²
2019-03-03
老鼠走迷宫
2019-03-03
ural 1627 生成树计数模板题 基尔霍夫矩阵树定理 + 行列式计算模板
2019-03-03
面试别慌!阿里专家带你从【入门+基础+进阶+项目】攻破SpringBoot
2019-03-03
【Java面试】30个 Java 集合面试必备的问题和答案
2019-03-03
干了八年的阿里面试官,给大家分享我面试时最爱问的Java面试题
2019-03-03
华为鸿蒙到底是不是安卓系统套了个壳?
2019-03-03
redis知识点学习
2019-03-03
vue出现sockjs-node/info?t=1462183700002 报错解决方案
2019-03-03
删除mongodb中已存在的用户
2019-03-03
分布式理论基础知识点入门
2019-03-03
SpringCloud之消息总线(Spring Cloud Bus)刷新配置
2019-03-03
多线程之创建线程的两种方式
2019-03-03
fragment中recyclerview的重新加载问题
2019-03-03