Mysql详解--知识整理

【持续更新,本身整理用】
B-Tree 与 B+Treehtml

  • B树索引最通俗易懂的介绍 - xiaohouye - 博客园 (cnblogs.com)
  • B树非叶子节点由关键字+ 数据组成,因此遍历过程当中就能获取到数据。而B+树的节点都会出如今叶子节点,非叶子节点只有关键字,数据所有在叶子节点。而且叶子节点间有指针链接
  • 计算机中磁盘存储数据最小单元是扇区一个扇区的大小是 512 字节,而文件系统(例如XFS/EXT4)他的最小单元是,一个块的大小是 4k,而对于咱们的 InnoDB 存储引擎也有本身的最小储存单元——(Page),一个页的大小是 16K
  • 为何关系型数据库B+Tree来存储数据:【1.B-Tree每一个节点须要存储(关键字+数据),而B+Tree只存储关键字;每一个页的大小有限,因此同一个页中,B+Tree能存储更多的数据。2.B+Tree 能够经过找到关键字数据后,经过遍历链表方便的找到指定范围内的关键字】
  • InnoDB也有页的概念,默认页的大小为16K,即每次读取数据时是4*4K。。数据库页的分裂以下:1-10的数据本来存储在Page1中,只有一个页,后来由于添加了11,一个页装不下了,须要分裂。分裂是将原来的页复制到一个新的页,而后将原来的页设置为根节点,成为了避免存放数据,而是只存放关键字的页,而后再新建一个页放多出来的那个11。分裂后有了3个页。
  • 将原来根节点的数据复制到新的一页,而不是直接建立一个新的页做为根节点,是由于:若是是从新建立根结点,那根结点存储的物理地址可能常常会变,不利于查找。而且在innodb中根结点是会预读到内存中的,因此结点的物理地址固定会比较好!
相关文章
相关标签/搜索