IndexedDB 如何创建复合索引并用其查询?
IndexedDB 如何创建复合索引并用其查询? 本文先给出可直接复述的结论,再用最小代码说明IndexedDB 复合索引创建与查询的工作方式、判断依据、项目边界和常见误区。
数据库索引专题面试题第 1 页,显示第 1–50 题,共找到 52 道完整解析,可继续按分类、标签与关键词缩小范围。
按稳定语义路径排序
IndexedDB 如何创建复合索引并用其查询? 本文先给出可直接复述的结论,再用最小代码说明IndexedDB 复合索引创建与查询的工作方式、判断依据、项目边界和常见误区。
MongoDB 复合索引的字段顺序如何决定等值、排序、范围查询能否命中? 本文先给出可直接复述的结论,再用最小代码说明MongoDB 复合索引 字段顺序 ESR 规则的工作方式、判断依据、项目边界和常见误区。
MongoDB 的索引交集何时会触发,为什么不能依赖它替代复合索引? 本文先给出可直接复述的结论,再用最小代码说明MongoDB 索引交集 index intersection的工作方式、判断依据、项目边界和常见误区。
PostgreSQL 中 ANALYZE 与 VACUUM 为什么常一起出现,统计信息过期会造成什么问题? 本文先给出可直接复述的结论,再用最小代码说明PostgreSQL ANALYZE 统计信息 执行计划 偏差的工作方式、判断依据、项目边界和常见误区。
大量删除后 B+ 树索引为什么会出现空洞和性能下降,如何重建? 本文先给出可直接复述的结论,再用最小代码说明索引 空洞 碎片 REINDEX的工作方式、判断依据、项目边界和常见误区。
为什么 B+ 树索引的高度通常只有 3~4 层就能支撑千万级数据? 本文先给出可直接复述的结论,再用最小代码说明B+树 高度 扇出 千万级数据的工作方式、判断依据、项目边界和常见误区。
B+ 树索引在插入时发生页分裂会带来什么性能影响,如何缓解? 本文先给出可直接复述的结论,再用最小代码说明B+树 页分裂 插入性能的工作方式、判断依据、项目边界和常见误区。
MySQL/PostgreSQL 的 B+ 树索引是如何组织并支持等值查找的? 本文先给出可直接复述的结论,再用最小代码说明B+树索引 结构 查找的工作方式、判断依据、项目边界和常见误区。
B 树和 B+ 树有什么区别,为什么数据库索引普遍选用 B+ 树? 本文先给出可直接复述的结论,再用最小代码说明B树 B+树 区别 数据库索引的工作方式、判断依据、项目边界和常见误区。
聚簇索引和二级索引在回表查询上有什么本质差异? 本文先给出可直接复述的结论,再用最小代码说明聚簇索引 二级索引 回表的工作方式、判断依据、项目边界和常见误区。
复合索引 (a, b, c) 的最左前缀原则具体是如何生效的? 本文先给出可直接复述的结论,再用最小代码说明复合索引 最左前缀原则的工作方式、判断依据、项目边界和常见误区。
复合索引 (a, b) 能避免 ORDER BY b 排序吗,什么条件下可以? 本文先给出可直接复述的结论,再用最小代码说明复合索引 ORDER BY 排序 索引顺序的工作方式、判断依据、项目边界和常见误区。
设计复合索引时,等值列和范围列的先后顺序应该怎么排? 本文先给出可直接复述的结论,再用最小代码说明复合索引 列顺序 等值 范围的工作方式、判断依据、项目边界和常见误区。
对经常组合查询的两个列,建复合索引和建两个单列索引哪种更好? 本文先给出可直接复述的结论,再用最小代码说明复合索引还是两个单列索引 index merge的工作方式、判断依据、项目边界和常见误区。
什么是覆盖索引,它为什么能显著减少查询耗时? 本文先给出可直接复述的结论,再用最小代码说明覆盖索引 回表 减少IO的工作方式、判断依据、项目边界和常见误区。
PostgreSQL 的 INCLUDE 非键列和直接加进索引键有什么区别? 本文先给出可直接复述的结论,再用最小代码说明PostgreSQL INCLUDE 覆盖索引 非键列的工作方式、判断依据、项目边界和常见误区。
PostgreSQL 的 Index-Only Scan 为什么有时仍然要访问堆表? 本文先给出可直接复述的结论,再用最小代码说明Index-Only Scan visibility map PostgreSQL的工作方式、判断依据、项目边界和常见误区。
用覆盖索引消除回表时,把很多列塞进索引会带来什么代价? 本文先给出可直接复述的结论,再用最小代码说明覆盖索引 代价 写放大 索引膨胀的工作方式、判断依据、项目边界和常见误区。
EXPLAIN 和 EXPLAIN ANALYZE 的区别是什么,生产环境用后者要注意什么? 本文先给出可直接复述的结论,再用最小代码说明EXPLAIN ANALYZE 区别 实际执行的工作方式、判断依据、项目边界和常见误区。
EXPLAIN (ANALYZE, BUFFERS) 里的 shared hit 和 read 分别说明什么? 本文先给出可直接复述的结论,再用最小代码说明EXPLAIN BUFFERS shared hit read 缓存命中的工作方式、判断依据、项目边界和常见误区。
EXPLAIN 输出中的 cost=0.00..8.27 两个数字分别代表什么? 本文先给出可直接复述的结论,再用最小代码说明EXPLAIN cost 启动成本 总成本的工作方式、判断依据、项目边界和常见误区。
MySQL 的 FORCE INDEX 什么时候应该使用,长期依赖它有什么风险? 本文先给出可直接复述的结论,再用最小代码说明FORCE INDEX 强制索引 风险的工作方式、判断依据、项目边界和常见误区。
EXPLAIN 估算的 rows 和实际行数差几个数量级时该怎么定位原因? 本文先给出可直接复述的结论,再用最小代码说明EXPLAIN rows 估算与实际行数偏差排查的工作方式、判断依据、项目边界和常见误区。
EXPLAIN 出现 Seq Scan 一定说明索引失效了吗? 本文先给出可直接复述的结论,再用最小代码说明Seq Scan 全表扫描 索引未生效的工作方式、判断依据、项目边界和常见误区。
表达式索引如何解决 WHERE lower(email) = ? 这类查询的索引问题? 本文先给出可直接复述的结论,再用最小代码说明表达式索引 函数索引 lower的工作方式、判断依据、项目边界和常见误区。
IN 列表很长时为什么优化器可能放弃索引转而全表扫描? 本文先给出可直接复述的结论,再用最小代码说明IN列表过长 优化器放弃索引 全表扫描的工作方式、判断依据、项目边界和常见误区。
LIKE '%abc' 前导通配符为什么用不上普通 B 树索引,有哪些替代方案? 本文先给出可直接复述的结论,再用最小代码说明LIKE 前导百分号 索引失效 替代的工作方式、判断依据、项目边界和常见误区。
有索引时嵌套循环连接为什么会比哈希连接更快,什么条件下反转? 本文先给出可直接复述的结论,再用最小代码说明nested loop hash join 索引 执行计划的工作方式、判断依据、项目边界和常见误区。
对索引列使用函数或隐式类型转换为什么会导致索引失效? 本文先给出可直接复述的结论,再用最小代码说明索引列 函数 类型转换 索引失效的工作方式、判断依据、项目边界和常见误区。
IS NULL 查询能用上 B 树索引吗,PostgreSQL 和 MySQL 行为有何差异? 本文先给出可直接复述的结论,再用最小代码说明IS NULL 索引 NULL 存储的工作方式、判断依据、项目边界和常见误区。
WHERE a = 1 OR b = 2 为什么常常导致索引利用率差,怎么改写? 本文先给出可直接复述的结论,再用最小代码说明OR 条件 索引失效 UNION 改写的工作方式、判断依据、项目边界和常见误区。
PostgreSQL 部分索引适合什么场景,比全索引有什么优势? 本文先给出可直接复述的结论,再用最小代码说明部分索引 partial index 适用场景的工作方式、判断依据、项目边界和常见误区。
为什么复合索引中范围条件会让其后的列无法继续用于精确定位? 本文先给出可直接复述的结论,再用最小代码说明复合索引 范围条件 后续列失效的工作方式、判断依据、项目边界和常见误区。
什么是索引选择性,选择性低到什么程度索引就不值得用了? 本文先给出可直接复述的结论,再用最小代码说明索引选择性 低基数 性别列的工作方式、判断依据、项目边界和常见误区。
优化器如何估算一个 LIKE 'abc%' 条件会过滤出多少行? 本文先给出可直接复述的结论,再用最小代码说明选择性估算 直方图 MCV PostgreSQL的工作方式、判断依据、项目边界和常见误区。
复合索引里应该把高选择性列放前面吗,这个常见说法对不对? 本文先给出可直接复述的结论,再用最小代码说明复合索引 列顺序 选择性 规则的工作方式、判断依据、项目边界和常见误区。
MySQL 8.0 的索引跳跃扫描能在什么条件下绕过最左前缀限制? 本文先给出可直接复述的结论,再用最小代码说明MySQL 8.0 Index Skip Scan 最左前缀的工作方式、判断依据、项目边界和常见误区。
ORDER BY a ASC, b DESC 时为什么单列复合索引可能帮不上忙? 本文先给出可直接复述的结论,再用最小代码说明复合索引 混合排序方向 ASC DESC的工作方式、判断依据、项目边界和常见误区。
MySQL 的 filesort 是什么,它是额外文件排序吗? 本文先给出可直接复述的结论,再用最小代码说明filesort 排序 内存 磁盘的工作方式、判断依据、项目边界和常见误区。
GROUP BY 能借助索引避免排序吗,条件是什么? 本文先给出可直接复述的结论,再用最小代码说明GROUP BY 索引 排序 松散索引扫描的工作方式、判断依据、项目边界和常见误区。
为什么 ORDER BY ... LIMIT n 在有合适索引时只需扫描少量行? 本文先给出可直接复述的结论,再用最小代码说明ORDER BY LIMIT 索引 提前返回的工作方式、判断依据、项目边界和常见误区。
PostgreSQL 排序溢出到磁盘在 EXPLAIN 中怎么看,如何调优? 本文先给出可直接复述的结论,再用最小代码说明work_mem 排序溢出 Sort Method external merge的工作方式、判断依据、项目边界和常见误区。
ANALYZE 采集的统计信息包含哪些内容,过期统计会导致什么后果? 本文先给出可直接复述的结论,再用最小代码说明ANALYZE 统计信息 执行计划 过期的工作方式、判断依据、项目边界和常见误区。
PostgreSQL 多列强相关时单列统计为何会严重低估行数,怎么解决? 本文先给出可直接复述的结论,再用最小代码说明多列统计信息 相关性 CREATE STATISTICS的工作方式、判断依据、项目边界和常见误区。
为什么大批量数据变更后执行计划突然变差,如何排查统计信息问题? 本文先给出可直接复述的结论,再用最小代码说明执行计划 突然变慢 统计信息 排查的工作方式、判断依据、项目边界和常见误区。
default_statistics_target 调大对执行计划质量有什么影响? 本文先给出可直接复述的结论,再用最小代码说明default_statistics_target 采样 计划质量的工作方式、判断依据、项目边界和常见误区。
唯一索引和普通索引在查询性能和写入开销上有差别吗? 本文先给出可直接复述的结论,再用最小代码说明唯一索引 vs 普通索引 性能的工作方式、判断依据、项目边界和常见误区。
为什么不建议在每张表的每个列上都建索引? 本文先给出可直接复述的结论,再用最小代码说明为什么不给每列建索引 索引写入开销的工作方式、判断依据、项目边界和常见误区。
查找「没有订单的客户」时 NOT EXISTS、NOT IN 和 LEFT JOIN ... IS NULL 哪个更稳妥? 本文先给出可直接复述的结论,再用最小代码说明SQL 反连接 NOT EXISTS NOT IN LEFT JOIN IS NULL的工作方式、判断依据、项目边界和常见误区。
多对多连接时 SQL JOIN 为什么会产生重复行,如何诊断并消除? 本文先给出可直接复述的结论,再用最小代码说明SQL JOIN 重复行 一对多 笛卡尔 诊断的工作方式、判断依据、项目边界和常见误区。