覆盖和不覆盖,碰的行数一样吗
还是那个索引,两条查询各数一次碰了多少行。输出两个数(用 / 隔开)。 t 表:200 行 id 1 ~ 200,主键 cat 只有 "A" 和 "B" 两种值(奇数行 A、偶数行 B) v
自己写:让一条查询被覆盖
给一条只取 v 的查询建一个能覆盖它的索引。输出 USING 后面那个词。 t 表:200 行 id 1 ~ 200,主键 cat 只有 "A" 和 "B" 两种值(奇数行 A、偶数行 B)
自己写:给两列的查询建覆盖索引
让 SELECT cat, v FROM t WHERE v = 99 被覆盖。输出两样:USING 后面那个词、以及查出来几行(用 / 隔开)。 t 表:200 行 id 1 ~ 200,主键 cat 只有 "A&qu
自己写:把覆盖的三种情况一次量齐
这一节的收官:同一个 (cat, v) 索引,三条查询各量一次——覆盖的、不覆盖的、用不上索引的。输出三样(用 / 隔开)。 t 表:200 行 id 1 ~ 200,主键 cat 只有 "A" 和 "
什么样的列建了索引也没用
给某一列建了索引,取数方式确实变成了 SEARCH,但几乎没快多少。这一列很可能【0】。
索引对写入的影响
一张表上建了三个索引。每插入一行,数据库要维护【0】。
⚠️ 低区分度:索引生效了,也没省下什么
给只有两种值的 cat 建索引,看取数方式和碰的行数。输出三样:取数方式、碰了几行、这一列有几种不同的值(用 / 隔开)。 t 表:200 行 id 1 ~ 200,主键 cat 只有 "A" 和 "
两列的区分度差多少
比一比两列的区分度。输出四个数:cat 有几种值、v 有几种值、按 cat 挑碰几行、按 v 挑碰几行(用 / 隔开)。 t 表:200 行 id 1 ~ 200,主键 cat 只有 "A" 和 "B
自己写:算出一列的区分度
算出两列的区分度(不同值的个数 ÷ 总行数,保留两位小数)。输出两个数(用 / 隔开)。 t 表:200 行 id 1 ~ 200,主键 cat 只有 "A" 和 "B" 两种值(奇数行 A
自己写:数一数写入要维护几处
建三个索引,然后数一数这张表上一共有几份索引(不算数据库自动建的)。输出两个数:索引份数、插一行要维护几处(索引 + 表本身)(用 / 隔开)。 t 表:200 行 id 1 ~ 200,主键 cat 只有 "A&quo