开发者社区> 问答> 正文

Mysql B+树,索引文件加载策略?没有加载进来的怎么读取?

Selection_054

如图,如果开始只加载了一部分索引,当一个新的查询来了,key又不再已经有的b树里面的话,应该去加载索引文件,不过应该加载索引文件的那个部分呢?当前情况只知道一个key其它都不知道,不应该是全部循环索引文件,mysql是怎么做的呢?或者有什么自己的办法的都行,先谢谢大家了;

展开
收起
bbking_ 2017-02-21 17:25:30 5705 0
2 条回答
写回答
取消 提交回答
  • 公益是一辈子的事, I am digoal, just do it. 阿里云数据库团队, 擅长PolarDB, PostgreSQL, DuckDB, ADB等, 长期致力于推动开源数据库技术、生态在中国的发展与开源产业人才培养. 曾荣获阿里巴巴麒麟布道师称号、2018届OSCAR开源尖峰人物.
    2019-07-17 20:49:26
    赞同 展开评论 打赏
  • RDS DBA

    索引也是一颗B+树,MySQL会根据SQL中的数据去定位索引B+树中的叶子节点索引页。
    如果访问的索引页不在内存里面,则会从磁盘读取到内存中,然后再根据索引页中的主键id去主表的B+树中定位相关的数据页。
    这也是为什么一些SQL执行第一次比较慢,执行第二次就非常快了(排除query cache)。

    2019-07-17 20:49:26
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
搭建电商项目架构连接MySQL 立即下载
搭建4层电商项目架构,实战连接MySQL 立即下载
PolarDB MySQL引擎重磅功能及产品能力盛大发布 立即下载

相关镜像