⚠️ 计划里没有时间,那"慢"怎么看
执行计划里一个时间数字都没有。要从计划判断一条查询贵不贵,看的是【0】。
排序那一步,是为了哪一句
下面这段打出三条查询各自额外搭架子是为了哪一句(三段,用 / 隔开;没有额外搭架子就打"没有")。 两张表 goods 400 行 id 主键|sup_id 1~20|cat 只有 A/B/C|price = i*
自己写:查出这条查询多做了哪一步
把下面的 TODO 补完,打出这条查询额外搭架子是为了哪一句。 两张表 goods 400 行 id 主键|sup_id 1~20|cat 只有 A/B/C|price = i*7%500|name "g1"~&q
自己写:把那一步消掉
把下面的 TODO 补完:建一份索引,让这条排序查询不再额外搭架子,然后打出结果(没有额外搭架子时会打出"没有")。 两张表 goods 400 行 id 主键|sup_id 1~20|cat 只有 A/B/C|p
⚠️ 自己写:索引只帮上了排序的前半截
下面这条按两列排序,索引只建在第一列上。把 TODO 补完,打出它额外搭架子是为了哪一句。 两张表 goods 400 行 id 主键|sup_id 1~20|cat 只有 A/B/C|price = i*7%500|name &qu
自己写:给一条慢查询做一次完整体检
把下面的 TODO 补完,打出计划有几行、额外搭架子为了哪一句、条件判了多少次(三段,用 / 隔开)。 两张表 goods 400 行 id 主键|sup_id 1~20|cat 只有 A/B/C|price = i*7%500|na
⚠️ 为什么"给列套一层算式"索引就没用了
条件写成"某一列加上某个数等于某个值"时,那一列上的索引就用不上了,因为【0】。
改写之后要确认哪一样
把一条查询改写成另一种写法之后,验收时最要紧的是确认【0】。
⚠️ 把算式挪到等号右边
下面这段打出两种写法各把条件判了多少次和两边的结果行数是不是一样(三段,用 / 隔开)。 两张表 goods 400 行 id 主键|sup_id 1~20|cat 只有 A/B/C|price = i*7%500|name &quo
⚠️ 开头匹配,改成范围就走得动索引
下面这段打出两种写法各把条件判了多少次和两边各返回几行(四段,用 / 隔开)。 两张表 goods 400 行 id 主键|sup_id 1~20|cat 只有 A/B/C|price = i*7%500|name "g1&