美文网首页
操作系统(一) -- 磁盘存储与数据库索引

操作系统(一) -- 磁盘存储与数据库索引

作者: OakesYa | 来源:发表于2020-09-10 10:48 被阅读0次

本文参考存储术语硬盘基础知识从磁盘结构到数据库索引

背景

当我们在深入学习数据库索引的时候会涉及到页,磁盘块等知识,所以借此机会回顾学习一下操作系统。

存储术语

  • 磁盘



    首先放出一张经典的图,然后给出一个计算公式:存储容量 = 磁头数 * 磁道数 * 每道扇区数 * 每扇区字节数。

  • 扇区
    扇区是磁道上的一个弧段,所以磁道是由多个弧段组成,一个片面上面有多个磁道。硬盘上的读写是以扇区为基本单位,通常情况下每个扇区的大小是512字节。扇区是磁盘最小的物理存储单元。

  • 磁盘块
    操作系统不直接与扇区交互,而是与由多个连续扇区组成的的磁盘块交互。磁盘块是操作系统所使用的逻辑概念,而非磁盘的物理概念,是文件系统读写数据的最小单位。


  • 页是内存的最小存储单位,磁盘块数据会加载到内存中进行操作,所以页的大小一般是磁盘块的2的n次方法倍。

数据库索引

  • Innodb
    因为Innodb支持事务,行级锁等特性成为了Mysql的默认存储引擎,InnoDB的页的大小为16KB,系统一个磁盘块的存储空间往往没那么大,InnoDB每次申请磁盘空间时都会是若干地址连续的磁盘块来达到页的大小16KB,InnoDB可以按照页的大小将磁盘数据读入到内存中,减少磁盘IO次数,提高查询效率。
    我们按照一个B+数索引来看一个主键索引INT4个B或者BIGINT8个B,指针类型一般也为4或8个B,也就是说一个页对应的连续磁盘块中大概储存1K个键值,那么深度为3的索引可以维护1K * 1K * 1K=10亿条记录。

相关文章

  • B树与B+树

    数据库索引磁盘IO: 考虑磁盘IO的影响,它相对于内存来说是很慢的。数据库索引是存储在磁盘上的,当数据量大时,就不...

  • 操作系统(一) -- 磁盘存储与数据库索引

    本文参考存储术语[http://www.hellokang.net/os/storage-term.html],硬...

  • 索引基础知识

    索引基础知识 磁盘预读(预读一般为页(page)的整数倍) 页是存储器的逻辑块,操作系统往往将主存和磁盘存储区分割...

  • 浅谈mysql的索引设计原则以及常见索引的区别

    索引定义:是一个单独的,存储在磁盘上的数据库结构,其包含着对数据表里所有记录的引用指针. 数据库索引的设计原则: ...

  • 索引与B+树

    分类一 聚集索引:1、索引列的逻辑顺序与磁盘存储的物理顺序相同,主键索引就是一种聚集索引2、B+树的叶子节点存储着...

  • 1分钟了解MyISAM与InnoDB的索引差异

    《数据库索引,到底是什么做的?》介绍了B+树,它是一种非常适合用来做数据库索引的数据结构: (1)很适合磁盘存储,...

  • 第16期:索引设计(MySQL 的索引结构)

    上一章讲了数据库基本上都用 B+ 树来存储索引的原因:适合磁盘存储,能够充分利用多叉平衡树的特性,磁盘预读,并且很...

  • 数据库

    索引 大部分数据库索引底层为平衡二叉树,B Tree B+Tree树 一个没有主键的表,存储在磁盘中时,是无序存储...

  • 索引详解-磁盘中的二进制数据如何映射成表的呢?

    操作系统存储与访问二进制流 磁盘存储的一些基本概念:扇区、簇(block 块)、磁道、柱面 扇区是磁盘中保存数据的...

  • 2019-11-12

    今天学习了操作系统的磁盘存储

网友评论

      本文标题:操作系统(一) -- 磁盘存储与数据库索引

      本文链接:https://www.haomeiwen.com/subject/bmdcsktx.html