前端进阶之旅前端进阶之旅
  • 基础篇HTML/CSS/JS 打底
  • 进阶篇原理与工程化
  • 高频篇面试最常问的那批
  • 精选篇按模块收敛的总结
  • 手写篇常考代码手写实现
  • 面经篇真实面试问题复盘
  • AI 篇NEWAI 时代的前端考点
  • 历年面经NEW按年份追踪真实考点
  • 每日一题每天一道,攒手感
  • 专项自测100 题快速查漏
  • 小程序题库小程序专项刷题
  • 算法题库NEW在线编码即时判题
  • 知识卡片NEW碎片时间过考点
  • 面试题大全常见问题解析
  • AI 答疑NEW随时提问,即时解析
  • AI 模拟面试NEW模拟真实面试 + 报告
  • AI 定制路线NEW按你的简历现排
  • AI 知识地图NEW串起全站知识点
  • 原理篇React / Vue 源码拆解
  • HTTP从报文一路讲到 HTTPS
  • 浏览器渲染、事件循环、进程
  • 计算机基础Linux、网络、操作系统
  • 设计模式23 种模式怎么用
  • Node学习指南从环境搭建到服务端
  • NPM工作流script、依赖与发布
  • Docker容器化部署上手
  • Canvas图形与动画实战
  • 前端系统进阶学习大型项目工程化
  • 前端综合文章长期沉淀的实践文
  • 思维导图知识点全景图
  • 学习路线按图索骥不跑偏
  • AI 热点NEWAI 每日动态
  • 公众号动态公众号历史文章
  • 博客动态站长的技术博客
  • 开发者导航常用工具与文档站
  • 基础篇HTML/CSS/JS 打底
  • 进阶篇原理与工程化
  • 高频篇面试最常问的那批
  • 精选篇按模块收敛的总结
  • 手写篇常考代码手写实现
  • 面经篇真实面试问题复盘
  • AI 篇NEWAI 时代的前端考点
  • 历年面经NEW按年份追踪真实考点
  • 每日一题每天一道,攒手感
  • 专项自测100 题快速查漏
  • 小程序题库小程序专项刷题
  • 算法题库NEW在线编码即时判题
  • 知识卡片NEW碎片时间过考点
  • 面试题大全常见问题解析
  • AI 答疑NEW随时提问,即时解析
  • AI 模拟面试NEW模拟真实面试 + 报告
  • AI 定制路线NEW按你的简历现排
  • AI 知识地图NEW串起全站知识点
  • 原理篇React / Vue 源码拆解
  • HTTP从报文一路讲到 HTTPS
  • 浏览器渲染、事件循环、进程
  • 计算机基础Linux、网络、操作系统
  • 设计模式23 种模式怎么用
  • Node学习指南从环境搭建到服务端
  • NPM工作流script、依赖与发布
  • Docker容器化部署上手
  • Canvas图形与动画实战
  • 前端系统进阶学习大型项目工程化
  • 前端综合文章长期沉淀的实践文
  • 思维导图知识点全景图
  • 学习路线按图索骥不跑偏
  • AI 热点NEWAI 每日动态
  • 公众号动态公众号历史文章
  • 博客动态站长的技术博客
  • 开发者导航常用工具与文档站
首页程序员面试题库数据库面试题
面试知识索引 · 分类、标签与搜索

数据库面试题,134 道完整答案

数据库面试题第 1 页,显示第 1–50 题,共找到 134 道完整解析,可继续按分类、标签与关键词缩小范围。

134筛选结果
52技术分类
178检索标签
3索引分页
按分类建立知识面,再用标签和搜索定位问题

每页只渲染 50 道题。分类与标签分页可抓取,自由搜索结果不会制造无限 SEO 页面。

快速定位

分类、标签与关键词搜索

清除全部筛选
题库检索
技术分类52 个
全部分类5000数据库134AI Agent511浏览器301JavaScript285React281AI 开发262CSS240Node.js217TypeScript206Vue180前端工程化138
查看全部 52 个分类
React Native135操作系统135Docker95计算机网络94API 设计90Kubernetes90HTML89Redis89全栈开发88分布式系统88系统设计86HTTP85Next.js60Angular58Linux53Nuxt51PostgreSQL46可观测性46设计模式46小程序45身份与权限45无障碍44MongoDB43PWA43Web 安全43Git42前端测试42前端性能41WebAssembly40测试40AI 工程37SvelteKit37Go35前端数据管理30React Router29AI 全栈28Svelte27算法12Java10数据结构5前端手写题3
数据库 标签14 个
SQL83数据库事务50事务与并发49数据库索引47并发编程45索引与执行计划44SQL 查询41表单10性能优化9算法2可观测性1异步编程1构建工具1缓存1
当前页01 / 3

正在显示第 1–50 题

数据库50
第 1 页

本页面试问题

按稳定语义路径排序

  1. 0001
    数据库索引与执行计划

    大量删除后 B+ 树索引为什么会出现空洞和性能下降,如何重建?

    围绕“大量删除后 B+ 树索引为什么会出现空洞和性能下降,如何重建”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要解释删除只标记不收缩导致的稀疏页问题与 REINDEX 的代价。

    核心关键词索引 空洞 碎片 REINDEX
    #索引与执行计划#性能优化#数据库索引
  2. 0002
    数据库索引与执行计划

    为什么 B+ 树索引的高度通常只有 3~4 层就能支撑千万级数据?

    围绕“为什么 B+ 树索引的高度通常只有 3~4 层就能支撑千万级数据”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答需要围绕必须用页大小和扇出做量级估算说明层数与 IO 次数的关系。

    核心关键词B+树 高度 扇出 千万级数据
    #索引与执行计划#数据库索引
  3. 0003
    数据库索引与执行计划

    B+ 树索引在插入时发生页分裂会带来什么性能影响,如何缓解?

    围绕“B+ 树索引在插入时发生页分裂会带来什么性能影响,如何缓解”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明随机插入导致的分裂、空间利用率下降与顺序递增主键的缓解思路。

    核心关键词B+树 页分裂 插入性能
    #索引与执行计划#性能优化#数据库索引
  4. 0004
    数据库索引与执行计划

    MySQL/PostgreSQL 的 B+ 树索引是如何组织并支持等值查找的?

    围绕“MySQL/PostgreSQL 的 B+ 树索引是如何组织并支持等值查找的”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须讲清非叶子节点只存键值、叶子节点链表相连的结构与 O(log n) 查找过程。

    核心关键词B+树索引 结构 查找
    #索引与执行计划#数据库索引#SQL
  5. 0005
    数据库索引与执行计划

    B 树和 B+ 树有什么区别,为什么数据库索引普遍选用 B+ 树?

    围绕“B 树和 B+ 树有什么区别,为什么数据库索引普遍选用 B+ 树”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须从非叶子节点是否存数据、叶子链表对范围扫描的影响作答。

    核心关键词B树 B+树 区别 数据库索引
    #索引与执行计划#数据库索引#算法
  6. 0006
    数据库索引与执行计划

    聚簇索引和二级索引在回表查询上有什么本质差异?

    围绕“聚簇索引和二级索引在回表查询上有什么本质差异”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须讲清二级索引叶子存主键值需要二次查找的回表过程。

    核心关键词聚簇索引 二级索引 回表
    #索引与执行计划#数据库索引
  7. 0007
    数据库索引与执行计划

    复合索引 (a, b, c) 的最左前缀原则具体是如何生效的?

    围绕“复合索引 (a, b, c) 的最左前缀原则具体是如何生效的”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答需要围绕必须用 (a)、(a,b)、(a,b,c) 命中而 (b,c) 不命中说明键序决定可用性。

    核心关键词复合索引 最左前缀原则
    #索引与执行计划#数据库索引
  8. 0008
    数据库索引与执行计划

    复合索引 (a, b) 能避免 ORDER BY b 排序吗,什么条件下可以?

    围绕“复合索引 (a, b) 能避免 ORDER BY b 排序吗,什么条件下可以”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明 a 等值过滤时索引天然按 b 有序可省 sort,a 是范围时不行。

    核心关键词复合索引 ORDER BY 排序 索引顺序
    #索引与执行计划#数据库索引
  9. 0009
    数据库索引与执行计划

    设计复合索引时,等值列和范围列的先后顺序应该怎么排?

    围绕“设计复合索引时,等值列和范围列的先后顺序应该怎么排”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须给出等值列在前、范围列在后的规则及其对扫描区间的影响。

    核心关键词复合索引 列顺序 等值 范围
    #索引与执行计划#数据库索引
  10. 0010
    数据库索引与执行计划

    对经常组合查询的两个列,建复合索引和建两个单列索引哪种更好?

    围绕“对经常组合查询的两个列,建复合索引和建两个单列索引哪种更好”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须比较索引合并交集与单复合索引的效率与维护成本。

    核心关键词复合索引还是两个单列索引 index merge
    #索引与执行计划#数据库索引
  11. 0011
    数据库索引与执行计划

    什么是覆盖索引,它为什么能显著减少查询耗时?

    围绕“什么是覆盖索引,它为什么能显著减少查询耗时”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明索引包含查询所需全部列时无需访问堆表的原理。

    核心关键词覆盖索引 回表 减少IO
    #索引与执行计划#数据库索引
  12. 0012
    数据库索引与执行计划

    PostgreSQL 的 INCLUDE 非键列和直接加进索引键有什么区别?

    围绕“PostgreSQL 的 INCLUDE 非键列和直接加进索引键有什么区别”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须区分 INCLUDE 列不参与排序只随叶子存储的设计意图。

    核心关键词PostgreSQL INCLUDE 覆盖索引 非键列
    #索引与执行计划#数据库索引#SQL
  13. 0013
    数据库索引与执行计划

    PostgreSQL 的 Index-Only Scan 为什么有时仍然要访问堆表?

    围绕“PostgreSQL 的 Index-Only Scan 为什么有时仍然要访问堆表”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要解释可见性判断依赖 visibility map、VACUUM 后才真正免堆访问。

    核心关键词Index-Only Scan visibility map PostgreSQL
    #索引与执行计划#数据库索引#SQL
  14. 0014
    数据库索引与执行计划

    用覆盖索引消除回表时,把很多列塞进索引会带来什么代价?

    围绕“用覆盖索引消除回表时,把很多列塞进索引会带来什么代价”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答需要围绕必须权衡查询加速与写入、膨胀、统计信息成本。

    核心关键词覆盖索引 代价 写放大 索引膨胀
    #索引与执行计划#数据库索引
  15. 0015
    数据库索引与执行计划

    EXPLAIN 和 EXPLAIN ANALYZE 的区别是什么,生产环境用后者要注意什么?

    围绕“EXPLAIN 和 EXPLAIN ANALYZE 的区别是什么,生产环境用后者要注意什么”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明 ANALYZE 真正执行 SQL 返回实际行数与耗时的副作用风险。

    核心关键词EXPLAIN ANALYZE 区别 实际执行
    #索引与执行计划#数据库索引#SQL
  16. 0016
    数据库索引与执行计划

    EXPLAIN (ANALYZE, BUFFERS) 里的 shared hit 和 read 分别说明什么?

    围绕“EXPLAIN (ANALYZE, BUFFERS) 里的 shared hit 和 read 分别说明什么”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须区分共享缓冲命中与磁盘读,并说明用它定位 IO 瓶颈的方法。

    核心关键词EXPLAIN BUFFERS shared hit read 缓存命中
    #索引与执行计划#缓存#数据库索引
  17. 0017
    数据库索引与执行计划

    EXPLAIN 输出中的 cost=0.00..8.27 两个数字分别代表什么?

    围绕“EXPLAIN 输出中的 cost=0.00..8.27 两个数字分别代表什么”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要解释启动成本与累计成本的含义及基于代价的选路逻辑。

    核心关键词EXPLAIN cost 启动成本 总成本
    #索引与执行计划#数据库索引
  18. 0018
    数据库索引与执行计划

    MySQL 的 FORCE INDEX 什么时候应该使用,长期依赖它有什么风险?

    围绕“MySQL 的 FORCE INDEX 什么时候应该使用,长期依赖它有什么风险”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明统计失真时的临时干预价值与数据变化后计划僵化的隐患。

    核心关键词FORCE INDEX 强制索引 风险
    #索引与执行计划#数据库索引#SQL
  19. 0019
    数据库索引与执行计划

    EXPLAIN 估算的 rows 和实际行数差几个数量级时该怎么定位原因?

    围绕“EXPLAIN 估算的 rows 和实际行数差几个数量级时该怎么定位原因”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须给出检查统计信息新鲜度、多列相关、参数化查询三条定位路径。

    核心关键词EXPLAIN rows 估算与实际行数偏差排查
    #索引与执行计划#数据库索引
  20. 0020
    数据库索引与执行计划

    EXPLAIN 出现 Seq Scan 一定说明索引失效了吗?

    围绕“EXPLAIN 出现 Seq Scan 一定说明索引失效了吗”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明小表、低选择性谓词下优化器主动选全表扫描是合理决策。

    核心关键词Seq Scan 全表扫描 索引未生效
    #索引与执行计划#数据库索引
  21. 0021
    数据库索引与执行计划

    表达式索引如何解决 WHERE lower(email) = ? 这类查询的索引问题?

    围绕“表达式索引如何解决 WHERE lower(email) = ? 这类查询的索引问题”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明按表达式值建索引、查询表达式需与索引定义精确匹配。

    核心关键词表达式索引 函数索引 lower
    #索引与执行计划#数据库索引
  22. 0022
    数据库索引与执行计划

    IN 列表很长时为什么优化器可能放弃索引转而全表扫描?

    围绕“IN 列表很长时为什么优化器可能放弃索引转而全表扫描”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须用累计选择性超过阈值导致随机回表更贵来解释。

    核心关键词IN列表过长 优化器放弃索引 全表扫描
    #索引与执行计划#数据库索引
  23. 0023
    数据库索引与执行计划

    LIKE '%abc' 前导通配符为什么用不上普通 B 树索引,有哪些替代方案?

    围绕“LIKE '%abc' 前导通配符为什么用不上普通 B 树索引,有哪些替代方案”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要解释键序无法定位前缀的机制并列出 trigram、全文检索替代。

    核心关键词LIKE 前导百分号 索引失效 替代
    #索引与执行计划#数据库索引
  24. 0024
    数据库索引与执行计划

    有索引时嵌套循环连接为什么会比哈希连接更快,什么条件下反转?

    围绕“有索引时嵌套循环连接为什么会比哈希连接更快,什么条件下反转”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答需要围绕必须用驱动表行数与被驱动表索引查找成本的乘积判断反转点。

    核心关键词nested loop hash join 索引 执行计划
    #索引与执行计划#数据库索引
  25. 0025
    数据库索引与执行计划

    对索引列使用函数或隐式类型转换为什么会导致索引失效?

    围绕“对索引列使用函数或隐式类型转换为什么会导致索引失效”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明谓词被改写后无法匹配索引键序的原理。

    核心关键词索引列 函数 类型转换 索引失效
    #索引与执行计划#数据库索引
  26. 0026
    数据库索引与执行计划

    IS NULL 查询能用上 B 树索引吗,PostgreSQL 和 MySQL 行为有何差异?

    围绕“IS NULL 查询能用上 B 树索引吗,PostgreSQL 和 MySQL 行为有何差异”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明 PostgreSQL B 树存 NULL 可索引而部分实现不存的差异。

    核心关键词IS NULL 索引 NULL 存储
    #索引与执行计划#数据库索引#SQL
  27. 0027
    数据库索引与执行计划

    WHERE a = 1 OR b = 2 为什么常常导致索引利用率差,怎么改写?

    围绕“WHERE a = 1 OR b = 2 为什么常常导致索引利用率差,怎么改写”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明优化器难以同时用两个索引键序及 UNION/UNION ALL 改写方案。

    核心关键词OR 条件 索引失效 UNION 改写
    #索引与执行计划#数据库索引
  28. 0028
    数据库索引与执行计划

    PostgreSQL 部分索引适合什么场景,比全索引有什么优势?

    围绕“PostgreSQL 部分索引适合什么场景,比全索引有什么优势”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须给出只索引满足条件的子集、减小体积提升效率的判断。

    核心关键词部分索引 partial index 适用场景
    #索引与执行计划#数据库索引#SQL
  29. 0029
    数据库索引与执行计划

    为什么复合索引中范围条件会让其后的列无法继续用于精确定位?

    围绕“为什么复合索引中范围条件会让其后的列无法继续用于精确定位”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要解释范围扫描后右列键值不再有序、只能回表过滤的机制。

    核心关键词复合索引 范围条件 后续列失效
    #索引与执行计划#数据库索引
  30. 0030
    数据库索引与执行计划

    什么是索引选择性,选择性低到什么程度索引就不值得用了?

    围绕“什么是索引选择性,选择性低到什么程度索引就不值得用了”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须给出选择性=基数/行数的定义与低选择性时优化器弃用索引的判断。

    核心关键词索引选择性 低基数 性别列
    #索引与执行计划#数据库索引
  31. 0031
    数据库索引与执行计划

    优化器如何估算一个 LIKE 'abc%' 条件会过滤出多少行?

    围绕“优化器如何估算一个 LIKE 'abc%' 条件会过滤出多少行”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明 MCV 与直方图在范围/前缀匹配估算中的作用。

    核心关键词选择性估算 直方图 MCV PostgreSQL
    #索引与执行计划#数据库索引#SQL
  32. 0032
    数据库索引与执行计划

    复合索引里应该把高选择性列放前面吗,这个常见说法对不对?

    围绕“复合索引里应该把高选择性列放前面吗,这个常见说法对不对”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答需要围绕必须辨析「高选择性在前」只是经验法则、实际取决于查询谓词模式。

    核心关键词复合索引 列顺序 选择性 规则
    #索引与执行计划#数据库索引
  33. 0033
    数据库索引与执行计划

    MySQL 8.0 的索引跳跃扫描能在什么条件下绕过最左前缀限制?

    围绕“MySQL 8.0 的索引跳跃扫描能在什么条件下绕过最左前缀限制”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明前导列基数低时枚举前导值实现跳跃扫描的适用边界。

    核心关键词MySQL 8.0 Index Skip Scan 最左前缀
    #索引与执行计划#数据库索引#SQL
  34. 0034
    数据库索引与执行计划

    ORDER BY a ASC, b DESC 时为什么单列复合索引可能帮不上忙?

    围绕“ORDER BY a ASC, b DESC 时为什么单列复合索引可能帮不上忙”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明键序一致才能复用索引序、混合方向需建匹配方向的索引。

    核心关键词复合索引 混合排序方向 ASC DESC
    #索引与执行计划#数据库索引
  35. 0035
    数据库索引与执行计划

    MySQL 的 filesort 是什么,它是额外文件排序吗?

    围绕“MySQL 的 filesort 是什么,它是额外文件排序吗”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须澄清 filesort 不一定是磁盘文件排序、内存放不下才落盘。

    核心关键词filesort 排序 内存 磁盘
    #索引与执行计划#数据库索引#SQL
  36. 0036
    数据库索引与执行计划

    GROUP BY 能借助索引避免排序吗,条件是什么?

    围绕“GROUP BY 能借助索引避免排序吗,条件是什么”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明分组列与索引前缀顺序一致时可按序聚合。

    核心关键词GROUP BY 索引 排序 松散索引扫描
    #索引与执行计划#数据库索引
  37. 0037
    数据库索引与执行计划

    为什么 ORDER BY ... LIMIT n 在有合适索引时只需扫描少量行?

    围绕“为什么 ORDER BY ... LIMIT n 在有合适索引时只需扫描少量行”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明按索引顺序取前 n 行即可终止的执行方式与无索引时的全排序对比。

    核心关键词ORDER BY LIMIT 索引 提前返回
    #索引与执行计划#数据库索引
  38. 0038
    数据库索引与执行计划

    PostgreSQL 排序溢出到磁盘在 EXPLAIN 中怎么看,如何调优?

    围绕“PostgreSQL 排序溢出到磁盘在 EXPLAIN 中怎么看,如何调优”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答需要围绕必须识别 Sort Method: external merge 信号并给出调大 work_mem 的方案。

    核心关键词work_mem 排序溢出 Sort Method external merge
    #索引与执行计划#数据库索引#SQL
  39. 0039
    数据库索引与执行计划

    ANALYZE 采集的统计信息包含哪些内容,过期统计会导致什么后果?

    围绕“ANALYZE 采集的统计信息包含哪些内容,过期统计会导致什么后果”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须列出 MCV、直方图、空值比例并说明陈旧统计导致选错计划。

    核心关键词ANALYZE 统计信息 执行计划 过期
    #索引与执行计划#数据库索引
  40. 0040
    数据库索引与执行计划

    PostgreSQL 多列强相关时单列统计为何会严重低估行数,怎么解决?

    围绕“PostgreSQL 多列强相关时单列统计为何会严重低估行数,怎么解决”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明独立列假设导致的选择性相乘误差与 CREATE STATISTICS 的作用。

    核心关键词多列统计信息 相关性 CREATE STATISTICS
    #索引与执行计划#数据库索引#SQL
  41. 0041
    数据库索引与执行计划

    为什么大批量数据变更后执行计划突然变差,如何排查统计信息问题?

    围绕“为什么大批量数据变更后执行计划突然变差,如何排查统计信息问题”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须给出对比估算行数与实际行数、ANALYZE 刷新、调整采样率的排查路径。

    核心关键词执行计划 突然变慢 统计信息 排查
    #索引与执行计划#数据库索引
  42. 0042
    数据库索引与执行计划

    default_statistics_target 调大对执行计划质量有什么影响?

    围绕“default_statistics_target 调大对执行计划质量有什么影响”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明提高采样率提升估算精度的同时增加 ANALYZE 成本。

    核心关键词default_statistics_target 采样 计划质量
    #索引与执行计划#数据库索引
  43. 0043
    数据库索引与执行计划

    唯一索引和普通索引在查询性能和写入开销上有差别吗?

    围绕“唯一索引和普通索引在查询性能和写入开销上有差别吗”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明唯一索引可提前终止等值查找、写入需唯一性检查的权衡。

    核心关键词唯一索引 vs 普通索引 性能
    #索引与执行计划#性能优化#数据库索引
  44. 0044
    数据库索引与执行计划

    为什么不建议在每张表的每个列上都建索引?

    围绕“为什么不建议在每张表的每个列上都建索引”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须从写放大、空间占用、优化器选错索引的风险三方面作答。

    核心关键词为什么不给每列建索引 索引写入开销
    #索引与执行计划#数据库索引
  45. 0045
    数据库SQL 查询

    对空表执行不带 GROUP BY 的 SUM/COUNT 为什么返回一行而不是零行?

    围绕“对空表执行不带 GROUP BY 的 SUM/COUNT 为什么返回一行而不是零行”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确无 GROUP BY 时全表视为一组的语义及 SUM 返回 NULL 的 COALESCE 处理。

    核心关键词SQL 聚合 空表 SUM NULL COUNT 0 无 GROUP BY
    #SQL 查询#SQL
  46. 0046
    数据库SQL 查询

    查找「没有订单的客户」时 NOT EXISTS、NOT IN 和 LEFT JOIN ... IS NULL 哪个更稳妥?

    围绕“查找「没有订单的客户」时 NOT EXISTS、NOT IN 和 LEFT JOIN ... IS NULL 哪个更”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确 NOT IN 遇 NULL 返回空集的陷阱及三者语义等价条件,不深入执行计划。

    核心关键词SQL 反连接 NOT EXISTS NOT IN LEFT JOIN IS NULL
    #SQL 查询#数据库索引#SQL
  47. 0047
    数据库SQL 查询

    COALESCE 和 NULLIF 分别解决什么问题,嵌套使用能实现什么常见转换?

    围绕“COALESCE 和 NULLIF 分别解决什么问题,嵌套使用能实现什么常见转换”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确 COALESCE 取首个非空、NULLIF 相等则置空的互补语义及空串转 NULL 等组合用法。

    核心关键词COALESCE NULLIF 区别 空值转换
    #SQL 查询#SQL
  48. 0048
    数据库SQL 查询

    相关子查询为什么可能很慢,什么条件下能被优化器改写为连接?

    围绕“相关子查询为什么可能很慢,什么条件下能被优化器改写为连接”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确逐行求值的执行模型与去相关化条件。

    核心关键词SQL 相关子查询 性能 改写 join
    #SQL 查询#性能优化#SQL
  49. 0049
    数据库SQL 查询

    SQL 的 CROSS JOIN 在什么场景下是正确选择而不是误用?

    围绕“SQL 的 CROSS JOIN 在什么场景下是正确选择而不是误用”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确需要显式生成组合(如日期维度×门店)时的合理性。

    核心关键词SQL CROSS JOIN 使用场景 笛卡尔积
    #SQL 查询#SQL
  50. 0050
    数据库SQL 查询

    PostgreSQL 的 WITH (CTE) 在什么版本后默认内联,MATERIALIZED 关键字何时该用?

    围绕“PostgreSQL 的 WITH (CTE) 在什么版本后默认内联,MATERIALIZED 关键字何时该用”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确 PostgreSQL 12 起非递归单次引用 CTE 默认内联、MATERIALIZED 强制物化的适用场景。

    核心关键词PostgreSQL CTE MATERIALIZED 内联 12
    #SQL 查询#SQL
上一页
123
下一页
前端进阶之旅本地 Markdown 维护 · 服务端分页 · 完整内容对用户与搜索引擎一致