自己写:建了索引反而更糟的那种情况
给低区分度的 cat 建索引,把"建了索引"和"没建索引"的碰行数一起量出来。输出三样:没建时碰几行、建了之后碰几行、差多少(用 / 隔开)。 t 表:200 行 id 1 ~ 200,主键 c
自己写:把索引的两边账一次算完
这一节的收官:把索引的好处和代价一次量齐——高区分度列省了多少、低区分度列省了多少、一共要维护几处。输出四样(用 / 隔开)。 t 表:200 行 id 1 ~ 200,主键 cat 只有 "A" 和 &quo
怎么知道索引到底用没用上
建了索引之后,想确认某条查询到底用没用上它,办法是【0】。
计划里的两个词各是什么意思
取数计划里最关键的两个词,一个表示"从头到尾扫一遍",另一个表示【0】。
计划里到底写了些什么
把一条走索引的查询的完整计划打出来。输出三样:第一个词、用的是哪份索引、条件形状(用 / 隔开)。 t 表:200 行 id 1 ~ 200,主键 cat 只有 "A" 和 "B" 两种值(
⚠️ 计划里只写了一半,说明另一半没用上
建一个 (cat, v) 索引,两条查询各看一次括号里那一段。输出两样(用 / 隔开)。 t 表:200 行 id 1 ~ 200,主键 cat 只有 "A" 和 "B" 两种值(奇数行 A
自己写:确认索引没被用上
建一个 (cat, v) 索引,写一条用不上它的查询,把计划打出来确认。输出第一个词。 t 表:200 行 id 1 ~ 200,主键 cat 只有 "A" 和 "B" 两种值(奇数行 A、
自己写:好几个索引时,数据库挑了哪个
建两个索引(一个在 cat、一个在 v),写一条两列都给条件的查询,看数据库挑了哪一个。输出两样:第一个词、用的索引名(用 / 隔开)。 t 表:200 行 id 1 ~ 200,主键 cat 只有 "A" 和
自己写:把三种命运一次看清
建一个 (cat, v) 索引,三条查询各看一次计划的第一个词——覆盖的、要回表的、用不上的。输出三样(用 / 隔开)。 t 表:200 行 id 1 ~ 200,主键 cat 只有 "A" 和 "B
自己写:给一条慢查询开一次药方
这一节的收官:给定一条走 SCAN 的查询,建一个索引让它变成 SEARCH,并确认结果没变。输出四样:改之前的词和碰的行数、改之后的词和碰的行数(用 / 隔开)。 t 表:200 行 id 1 ~ 200,主键 cat 只有 &