两列的区分度差多少

两列的区分度差多少

比一比两列的区分度。输出四个数:cat 有几种值、v 有几种值、按 cat 挑碰几行、按 v 挑碰几行(用 / 隔开)。 t 表:200 行 id 1 ~ 200,主键 cat 只有 &qu

阅读更多 →
⚠️ 低区分度:索引生效了,也没省下什么

⚠️ 低区分度:索引生效了,也没省下什么

给只有两种值的 cat 建索引,看取数方式和碰的行数。输出三样:取数方式、碰了几行、这一列有几种不同的值(用 / 隔开)。 t 表:200 行 id 1 ~ 200,主键 cat 只有 &q

阅读更多 →
索引对写入的影响

索引对写入的影响

一张表上建了三个索引。每插入一行,数据库要维护【0】。

阅读更多 →
什么样的列建了索引也没用

什么样的列建了索引也没用

给某一列建了索引,取数方式确实变成了 SEARCH,但几乎没快多少。这一列很可能【0】。

阅读更多 →
自己写:把覆盖的三种情况一次量齐

自己写:把覆盖的三种情况一次量齐

这一节的收官:同一个 (cat, v) 索引,三条查询各量一次——覆盖的、不覆盖的、用不上索引的。输出三样(用 / 隔开)。 t 表:200 行 id 1 ~ 200,主键 cat 只有 &

阅读更多 →
自己写:给两列的查询建覆盖索引

自己写:给两列的查询建覆盖索引

让 SELECT cat, v FROM t WHERE v = 99 被覆盖。输出两样:USING 后面那个词、以及查出来几行(用 / 隔开)。 t 表:200 行 id 1 ~ 200,主键

阅读更多 →
自己写:让一条查询被覆盖

自己写:让一条查询被覆盖

给一条只取 v 的查询建一个能覆盖它的索引。输出 USING 后面那个词。 t 表:200 行 id 1 ~ 200,主键 cat 只有 "A" 和 "B&qu

阅读更多 →
覆盖和不覆盖,碰的行数一样吗

覆盖和不覆盖,碰的行数一样吗

还是那个索引,两条查询各数一次碰了多少行。输出两个数(用 / 隔开)。 t 表:200 行 id 1 ~ 200,主键 cat 只有 "A" 和 "B"

阅读更多 →
⚠️ 多取一列,覆盖就没了

⚠️ 多取一列,覆盖就没了

建一个 (cat, v) 的索引,一次只取索引里有的列,一次多取一列 note。输出两次的取数方式全句(用 / 隔开,只取 USING 后面那部分的第一个词)。 t 表:200 行 id 1 ~

阅读更多 →
覆盖索引的代价是什么

覆盖索引的代价是什么

为了让索引覆盖更多查询,把更多列塞进索引。代价是【0】。

阅读更多 →