搭建demo

本文最后更新于:2022年12月27日 下午

  1. 索引和数据,都是存放在磁盘。读取的时候,优先把索引加载到内存中的
  2. 引擎存放数据的方式是不一样的
    1. innodb,数据和索引放在同一个文件中
    2. myisam,数据和索引是分开放在不同文件的
  3. mysql的数据存储格式是B+树,为什么
    1. 目前的数据读取速度瓶颈就是IO
    2. 因此需要 1.减少IO数量,2.减少IO次数
    3. 可选方案:
      1. hash表,1.需要好的hash算法、2.存储内容无序,范围查找需要遍历
      2. 二叉树,BST,AVL树,黑红树。缺点是数据量大的时候,树会很高。树深了就会导致IO次数
      3. 不同的树
      4. B树,磁盘中存放这索引和数据,数据占据了磁盘的大部分空间,假如一行数据1k,一个磁盘块就是16行,那么三层的B树就是16*16*16(每一个节点都有16个孩子)=4096
      5. B树
      6. B+树,磁盘中只存放索引
      7. B+树
  4. 操作系统
    1. 局部性原理
      1. 之前被访问的数据可能被再次访问
      2. 数据和程序都有聚集成群的倾向
    2. 磁盘预读
      1. 内存和磁盘交互存在最小的逻辑单位,页 (4K或者8K)
      2. INNODB引擎进行数据加载的时候,读取是16K (4页或者2页)

搭建demo
http://coder-xieshijie.cn/2022/05/18/随笔/其他技能/搭建demo/
作者
谢世杰
发布于
2022年5月18日
更新于
2022年12月27日
许可协议