当前位置:首页 » 《随便一记》 » 正文

认识Innodb存储引擎

19 人参与  2023年02月04日 12:57  分类 : 《随便一记》  评论

点击全文阅读


什么是InnoDb呢?

InnoDb是数据库Mysql的引擎之一,也是Mysql的默认存储引擎。它可以兼顾高可靠性和高性能。

InnoDb的最大特色就是支持ACID兼容的事务(Transation)功能

什么是ACID呢?

A:代表Atomicity原子性,意味着事务是不可分割的,一个事务要么全部完成,要么退回全部不完成

C:代表Consistency一致性,意味着事务从开始到结束数据库的完整性都没有被破坏

I:代表Isolation隔离性,意味着事务之间互不影响,数据库允许多个事务并发执行读写操作,隔离性防止了事务并发执行期间因为数据交叉而导致数据不一致。

D:代表Durability持久性,事务处理结束后,对数据的修改是永久的,即使系统故障也不会消失。

InnoDb聚集索引(clustered index):按照表的主键构建一棵B+树,叶子存放表的行为记录数据,聚集索引的叶子节点称为数据页。同B+数据结构一样,每个数据页都通过一个双向链表来进行链接。

数据页只能按照一颗B+树进行排序,因此每张表只能又有一个聚集索引。

使用聚集索引的优点:它对于主键的排序查找和范围查找速度非常快;

InnoDb辅助索引(Secondary Index,也称非聚集索引):叶子节点并不包含行记录的全部数据。叶子节点除了包含键值以外,每个叶子节点中的索引行中还包含了一个书签(bookmark),该书签用来告诉InnoDb存储引擎那里可以找到与索引相对应的行数据。

辅助索引的存在并不影响数据在聚集索引的组织,因此每张表上可以有多个辅助索引。

笔者经验有限,如果文章有问题,欢迎指出。感谢~


点击全文阅读


本文链接:http://zhangshiyu.com/post/52566.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1