我在学习MYSQL的优化,浏览博客时有人贴出算成本的方式,我尝试了一下
发现等值筛选时只需要计算回表的成本
上图中筛选出 1 行数据,根据公式 1 * 0.25 + 1 * 0.1 = 0.35 是对的
但是超过了18行之后,发现只回表了18次
上图中筛选出 20 行数据,根据公式 18 * 0.25 + 20 * 0.1 = 6.5 是对的
上图中筛选出 50 行数据,根据公式 18 * 0.25 + 50 * 0.1 = 9.5 是对的
上图中筛选出 100 行数据,根据公式 18 * 0.25 + 100 * 0.1 = 14.5 是对的
上图中筛选出 200 行数据,根据公式 18 * 0.25 + 200 * 0.1 = 24.5 是对的
上图中筛选出 1000 行数据,根据公式 18 * 0.25 + 1000 * 0.1 = 104.5 是对的
Mysql约定,回表的时候,回表一条数据相当于访问一次页面,也就是io打分为1
我上网查询显示 一条数据就回表一次,但上面的测试远远没有,1000行数据也只回表了18次?
烦请各位大手子看下测试是否是对的,为什么会这样呢。。