maizhen 2023-03-13 16:17 采纳率: 50%
浏览 27

MYSQL预测成本时的索引筛选会回表多少次?

我在学习MYSQL的优化,浏览博客时有人贴出算成本的方式,我尝试了一下

发现等值筛选时只需要计算回表的成本

img

上图中筛选出 1 行数据,根据公式 1 * 0.25 + 1 * 0.1 = 0.35 是对的

但是超过了18行之后,发现只回表了18次

img

上图中筛选出 20 行数据,根据公式 18 * 0.25 + 20 * 0.1 = 6.5 是对的

img

上图中筛选出 50 行数据,根据公式 18 * 0.25 + 50 * 0.1 = 9.5 是对的

img

上图中筛选出 100 行数据,根据公式 18 * 0.25 + 100 * 0.1 = 14.5 是对的

img

上图中筛选出 200 行数据,根据公式 18 * 0.25 + 200 * 0.1 = 24.5 是对的

img

上图中筛选出 1000 行数据,根据公式 18 * 0.25 + 1000 * 0.1 = 104.5 是对的

Mysql约定,回表的时候,回表一条数据相当于访问一次页面,也就是io打分为1
我上网查询显示 一条数据就回表一次,但上面的测试远远没有,1000行数据也只回表了18次?

烦请各位大手子看下测试是否是对的,为什么会这样呢。。

  • 写回答

3条回答 默认 最新

  • threenewbee 2023-03-13 16:19
    关注

    这个根据你的 mysql 的索引来决定的。

    评论

报告相同问题?

问题事件

  • 创建了问题 3月13日

悬赏问题

  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?
  • ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算