前端进阶之旅前端进阶之旅
  • 基础篇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 每日动态
  • 公众号动态公众号历史文章
  • 博客动态站长的技术博客
  • 开发者导航常用工具与文档站
首页程序员面试题库数据库面试题第 2 页
面试知识索引 · 分类、标签与搜索

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

数据库面试题第 2 页,显示第 51–100 题,共找到 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
当前页02 / 3

正在显示第 51–100 题

数据库50
第 2 页

本页面试问题

按稳定语义路径排序

  1. 0051
    数据库SQL 查询

    PostgreSQL 的 DISTINCT ON 如何按指定排序取每组第一条,和标准 DISTINCT 有何不同?

    围绕“PostgreSQL 的 DISTINCT ON 如何按指定排序取每组第一条,和标准 DISTINCT 有何不同”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确 DISTINCT ON 与 ORDER BY 前缀必须匹配的规则及其与窗口函数方案的取舍。

    核心关键词PostgreSQL DISTINCT ON 每组第一条 ORDER BY
    #SQL 查询#SQL
  2. 0052
    数据库SQL 查询

    只做去重时 DISTINCT 和 GROUP BY 语义是否完全等价,优化器如何看待它们?

    围绕“只做去重时 DISTINCT 和 GROUP BY 语义是否完全等价,优化器如何看待它们”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确无聚合时二者语义等价及 PostgreSQL 优化器常按同一路径处理的事实。

    核心关键词DISTINCT GROUP BY 去重 等价 优化器
    #SQL 查询#SQL
  3. 0053
    数据库SQL 查询

    PostgreSQL 聚合函数的 FILTER (WHERE ...) 子句相比 CASE WHEN 条件聚合有什么优势?

    围绕“PostgreSQL 聚合函数的 FILTER (WHERE ...) 子句相比 CASE WHEN 条件聚合有什么”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确 FILTER 只对满足条件的行做聚合的表达力与可读性差异,不比较执行性能基准。

    核心关键词PostgreSQL 聚合 FILTER WHERE 条件聚合
    #SQL 查询#性能优化#SQL
  4. 0054
    数据库SQL 查询

    如何用窗口函数把连续签到日期合并成连续区间(gaps and islands)?

    围绕“如何用窗口函数把连续签到日期合并成连续区间(gaps and islands)”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确日期减行号生成岛标识再分组聚合的经典解法逻辑。

    核心关键词SQL gaps and islands 连续区间 窗口函数
    #SQL 查询#SQL
  5. 0055
    数据库SQL 查询

    SQL 中 WHERE 和 HAVING 的过滤顺序是什么,各自能引用什么?

    围绕“SQL 中 WHERE 和 HAVING 的过滤顺序是什么,各自能引用什么”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确 HAVING 作用于聚合后分组、WHERE 作用于聚合前行,且 WHERE 不能用聚合函数。

    核心关键词SQL WHERE HAVING 区别 执行顺序
    #SQL 查询#SQL
  6. 0056
    数据库SQL 查询

    为什么 MySQL 旧模式允许而 PostgreSQL 拒绝 SELECT 中未聚合也未分组的列?

    围绕“为什么 MySQL 旧模式允许而 PostgreSQL 拒绝 SELECT 中未聚合也未分组的列”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确结果不确定性的语义原因及 PostgreSQL 对功能依赖主键列的例外,不比较两家全部方言差异。

    核心关键词GROUP BY 未分组列 ONLY_FULL_GROUP_BY PostgreSQL 报错
    #SQL 查询#SQL#表单
  7. 0057
    数据库SQL 查询

    ROLLUP、CUBE 和 GROUPING SETS 分别生成哪些分组层级,结果里的 NULL 如何区分?

    围绕“ROLLUP、CUBE 和 GROUPING SETS 分别生成哪些分组层级,结果里的 NULL 如何区分”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确三者生成维度子集的差异及 GROUPING() 区分真实 NULL 与汇总临时标记 NULL。

    核心关键词SQL ROLLUP CUBE GROUPING SETS GROUPING 函数
    #SQL 查询#构建工具#SQL
  8. 0058
    数据库SQL 查询

    子查询结果含 NULL 时 NOT IN 返回空结果而 NOT EXISTS 正常,原因是什么?

    围绕“子查询结果含 NULL 时 NOT IN 返回空结果而 NOT EXISTS 正常,原因是什么”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确 NOT IN 展开为 <> ALL 遇 NULL 得 UNKNOWN 的三值逻辑推导。

    核心关键词NOT IN NULL 三值逻辑 NOT EXISTS 区别
    #SQL 查询#SQL
  9. 0059
    数据库SQL 查询

    INTERSECT 和 EXCEPT 如何处理重复行,EXCEPT 的左右顺序为什么重要?

    围绕“INTERSECT 和 EXCEPT 如何处理重复行,EXCEPT 的左右顺序为什么重要”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确两者默认去重、EXCEPT 非对称的语义及 ALL 变体保留重复的行为。

    核心关键词INTERSECT EXCEPT 集合运算 去重 顺序
    #SQL 查询#SQL
  10. 0060
    数据库SQL 查询

    LEFT JOIN 的过滤条件写在 ON 里和写在 WHERE 里结果为什么不同?

    围绕“LEFT JOIN 的过滤条件写在 ON 里和写在 WHERE 里结果为什么不同”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确 ON 在连接前过滤、WHERE 在连接后过滤导致 NULL 行被剔除的语义差异。

    核心关键词LEFT JOIN ON WHERE 条件位置 区别
    #SQL 查询#SQL
  11. 0061
    数据库SQL 查询

    多对多连接时 SQL JOIN 为什么会产生重复行,如何诊断并消除?

    围绕“多对多连接时 SQL JOIN 为什么会产生重复行,如何诊断并消除”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确连接键非唯一导致的行膨胀机制及 DISTINCT/预聚合两种修复的取舍,不讲索引优化。

    核心关键词SQL JOIN 重复行 一对多 笛卡尔 诊断
    #SQL 查询#数据库索引#SQL
  12. 0062
    数据库SQL 查询

    为什么 SQL 中 INNER JOIN 换成 LEFT JOIN 后结果行数可能变多也可能不变?

    围绕“为什么 SQL 中 INNER JOIN 换成 LEFT JOIN 后结果行数可能变多也可能不变”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确连接匹配失败时左表行的保留规则及行数变化条件。

    核心关键词SQL INNER JOIN LEFT JOIN 结果行数 区别
    #SQL 查询#SQL
  13. 0063
    数据库SQL 查询

    LAG/LEAD 在首行或末行返回 NULL,如何给出默认值并避免类型转换错误?

    围绕“LAG/LEAD 在首行或末行返回 NULL,如何给出默认值并避免类型转换错误”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确第三参数默认值与表达式求值范围,以及默认值类型需与列匹配的注意点。

    核心关键词SQL LAG LEAD 默认值 NULL 偏移
    #SQL 查询#SQL
  14. 0064
    数据库SQL 查询

    PostgreSQL 的 LATERAL 连接如何简化「每组取最新一条」的查询?

    围绕“PostgreSQL 的 LATERAL 连接如何简化「每组取最新一条」的查询”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确 LATERAL 允许子查询引用左表列从而逐组求 top-N 的机制。

    核心关键词PostgreSQL LATERAL join 每组 top N
    #SQL 查询#SQL
  15. 0065
    数据库SQL 查询

    为什么只写 LIMIT 不写 ORDER BY 的查询结果不可依赖,即使多次执行看起来一样?

    围绕“为什么只写 LIMIT 不写 ORDER BY 的查询结果不可依赖,即使多次执行看起来一样”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确无 ORDER BY 时行序由执行计划与存储决定、无语义保证的原因。

    核心关键词LIMIT 无 ORDER BY 结果不确定 顺序
    #SQL 查询#数据库索引#SQL
  16. 0066
    数据库SQL 查询

    SQL SELECT 的逻辑执行顺序是什么,为什么 SELECT 里起的别名不能在同层 WHERE 用?

    围绕“SQL SELECT 的逻辑执行顺序是什么,为什么 SELECT 里起的别名不能在同层 WHERE 用”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确 FROM→WHERE→GROUP→HAVING→SELECT→ORDER BY 的顺序及别名作用域推论。

    核心关键词SQL 逻辑执行顺序 FROM WHERE SELECT 别名
    #SQL 查询#SQL#表单
  17. 0067
    数据库SQL 查询

    PostgreSQL 的 MVCC 下,同一事务里两次相同的 SELECT 在什么隔离级别下结果可能不同?

    围绕“PostgreSQL 的 MVCC 下,同一事务里两次相同的 SELECT 在什么隔离级别下结果可能不同”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确 READ COMMITTED 每条语句取新快照而 REPEATABLE READ 用事务级快照的差异。

    核心关键词PostgreSQL MVCC 隔离级别 不可重复读 快照
    #SQL 查询#数据库事务#SQL
  18. 0068
    数据库SQL 查询

    为什么生产代码中通常不建议使用 NATURAL JOIN?

    围绕“为什么生产代码中通常不建议使用 NATURAL JOIN”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确按同名列自动匹配在表结构变更时的脆弱性。

    核心关键词NATURAL JOIN 风险 隐式列匹配
    #SQL 查询#SQL
  19. 0069
    数据库SQL 查询

    NTILE 和 PERCENT_RANK 都表达相对位置,分桶结果在什么数据下差异明显?

    围绕“NTILE 和 PERCENT_RANK 都表达相对位置,分桶结果在什么数据下差异明显”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确 NTILE 均分行数而 PERCENT_RANK 按秩归一化的计算差异及并列处理。

    核心关键词NTILE PERCENT_RANK 区别 分位数
    #SQL 查询#SQL
  20. 0070
    数据库SQL 查询

    为什么 NULL = NULL 不成立,SQL 的三值逻辑如何让 WHERE 条件「静默丢行」?

    围绕“为什么 NULL = NULL 不成立,SQL 的三值逻辑如何让 WHERE 条件「静默丢行」”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确 TRUE/FALSE/UNKNOWN 的传播规则及 UNKNOWN 被 WHERE 视为不通过的后果。

    核心关键词SQL NULL 三值逻辑 UNKNOWN WHERE 丢行
    #SQL 查询#SQL
  21. 0071
    数据库SQL 查询

    聚合函数遇到 NULL 列时各自如何处理,AVG 的分母是否包含 NULL 行?

    围绕“聚合函数遇到 NULL 列时各自如何处理,AVG 的分母是否包含 NULL 行”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确除 COUNT(*) 外聚合忽略 NULL 的规则及 AVG 分母只计非 NULL 行。

    核心关键词聚合函数 NULL AVG SUM COUNT 忽略
    #SQL 查询#SQL
  22. 0072
    数据库SQL 查询

    PostgreSQL 排序时 NULL 默认排在哪,NULLS FIRST/LAST 如何影响分页?

    围绕“PostgreSQL 排序时 NULL 默认排在哪,NULLS FIRST/LAST 如何影响分页”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确 ASC 默认 NULLS LAST、DESC 默认 NULLS FIRST 及显式指定对稳定分页的影响。

    核心关键词PostgreSQL ORDER BY NULLS FIRST LAST 默认
    #SQL 查询#SQL
  23. 0073
    数据库SQL 查询

    如何用 PostgreSQL 递归 CTE 查询组织架构下某节点的所有下级并防止环?

    围绕“如何用 PostgreSQL 递归 CTE 查询组织架构下某节点的所有下级并防止环”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确锚成员+递归成员的求值过程及路径数组防环写法。

    核心关键词PostgreSQL 递归 CTE WITH RECURSIVE 层级 环检测
    #SQL 查询#SQL
  24. 0074
    数据库SQL 查询

    ROW_NUMBER、RANK、DENSE_RANK 在并列值时分别返回什么名次?

    围绕“ROW_NUMBER、RANK、DENSE_RANK 在并列值时分别返回什么名次”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确三者对并列和后续名次的编号规则差异。

    核心关键词ROW_NUMBER RANK DENSE_RANK 并列 区别
    #SQL 查询#SQL
  25. 0075
    数据库SQL 查询

    用 SUM() OVER 算累计和时,默认窗口帧为什么会在排序值重复时算错?

    围绕“用 SUM() OVER 算累计和时,默认窗口帧为什么会在排序值重复时算错”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确默认 RANGE UNBOUNDED PRECEDING 把同值行并入同帧的语义及改 ROWS 的修复。

    核心关键词SUM OVER 累计和 默认窗口帧 RANGE ROWS
    #SQL 查询#SQL
  26. 0076
    数据库SQL 查询

    标量子查询返回多行时报错,而返回零行时得到 NULL,这一语义如何使用和防御?

    围绕“标量子查询返回多行时报错,而返回零行时得到 NULL,这一语义如何使用和防御”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确标量子查询 0/1/N 行三种结果的语义及用 LIMIT 或聚合防御。

    核心关键词SQL 标量子查询 多行报错 零行 NULL
    #SQL 查询#SQL
  27. 0077
    数据库SQL 查询

    如何用 SQL 自连接查询员工及其直属上级的姓名?

    围绕“如何用 SQL 自连接查询员工及其直属上级的姓名”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确同表两次取别名并按外键连接的写法与 NULL 上级的处理。

    核心关键词SQL 自连接 self join 层级 员工上级
    #SQL 查询#SQL
  28. 0078
    数据库SQL 查询

    集合运算对两侧 SELECT 的列有什么要求,结果列名和数据类型如何确定?

    围绕“集合运算对两侧 SELECT 的列有什么要求,结果列名和数据类型如何确定”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确列数相等、对应类型可隐式统一到公共类型、列名取第一个查询的规则。

    核心关键词UNION 列数 类型匹配 结果列名 类型解析
    #SQL 查询#SQL#表单
  29. 0079
    数据库SQL 查询

    用子查询改写 JOIN 时为什么有时必须加 DISTINCT 才能保证结果一致?

    围绕“用子查询改写 JOIN 时为什么有时必须加 DISTINCT 才能保证结果一致”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确一对多连接导致主表行重复而 IN/EXISTS 半连接不重复的语义差别。

    核心关键词SQL 子查询 改写 join DISTINCT 去重 语义等价
    #SQL 查询#SQL
  30. 0080
    数据库SQL 查询

    如何用窗口函数实现「每个部门工资最高的两名员工」,并处理并列工资?

    围绕“如何用窗口函数实现「每个部门工资最高的两名员工」,并处理并列工资”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确 PARTITION BY + ROW_NUMBER/RANK 子查询过滤模式及并列时选 RANK 还是加决胜排序键的决策。

    核心关键词SQL 每组 Top N 窗口函数 ROW_NUMBER 并列
    #SQL 查询#SQL
  31. 0081
    数据库SQL 查询

    UNION 和 UNION ALL 结果何时相同,为什么能确定无重复时应优先用 UNION ALL?

    围绕“UNION 和 UNION ALL 结果何时相同,为什么能确定无重复时应优先用 UNION ALL”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确 UNION 隐式去重排序的开销及等价条件判断。

    核心关键词UNION UNION ALL 区别 去重 性能
    #SQL 查询#性能优化#SQL
  32. 0082
    数据库SQL 查询

    SELECT 里同时有 GROUP BY 和窗口函数时,窗口函数能看到哪些行?

    围绕“SELECT 里同时有 GROUP BY 和窗口函数时,窗口函数能看到哪些行”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确窗口在分组聚合之后、基于聚合结果行求值的逻辑顺序。

    核心关键词窗口函数 GROUP BY 执行顺序 聚合后
    #SQL 查询#SQL#表单
  33. 0083
    数据库SQL 查询

    窗口帧的 ROWS BETWEEN 和 RANGE BETWEEN 在分组对等行处理上有什么区别?

    围绕“窗口帧的 ROWS BETWEEN 和 RANGE BETWEEN 在分组对等行处理上有什么区别”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确 RANGE 按值、ROWS 按物理行、GROUPS 按对等组的纳入规则。

    核心关键词窗口帧 ROWS RANGE GROUPS 区别 peer 行
    #SQL 查询#SQL
  34. 0084
    数据库SQL 查询

    为什么窗口函数不能写在 WHERE 里,想要过滤窗口结果该怎么办?

    围绕“为什么窗口函数不能写在 WHERE 里,想要过滤窗口结果该怎么办”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确 WHERE 在窗口求值之前执行的顺序原因及外层子查询/CTE 过滤的写法。

    核心关键词窗口函数 WHERE 不能用 子查询过滤
    #SQL 查询#SQL
  35. 0085
    数据库SQL 查询

    窗口函数和 GROUP BY 都按分组计算,结果集结构上有什么本质区别?

    围绕“窗口函数和 GROUP BY 都按分组计算,结果集结构上有什么本质区别”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确窗口函数不折叠行、在每行上附加组级计算的结构差异,不列举所有窗口函数。

    核心关键词窗口函数 GROUP BY 区别 保留明细行
    #SQL 查询#SQL
  36. 0086
    数据库事务与并发

    PostgreSQL 显式事务中一条语句报错后,为什么后续语句都报 current transaction is aborted 错误?

    围绕“PostgreSQL 显式事务中一条语句报错后,为什么后续语句都报 current transaction is a”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖解释事务进入失败状态必须回滚或用保存点恢复的设计理由。

    核心关键词current transaction is aborted错误原因与处理
    #事务与并发#数据库事务#SQL
  37. 0087
    数据库事务与并发

    数据库事务的 ACID 四个属性分别保证什么,哪些属性在并发下会打折扣?

    围绕“数据库事务的 ACID 四个属性分别保证什么,哪些属性在并发下会打折扣”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖要求区分原子性、持久性等由日志与锁各自承担的部分。

    核心关键词事务 ACID 隔离性 并发
    #事务与并发#数据库事务#并发编程
  38. 0088
    数据库事务与并发

    PostgreSQL 咨询锁(advisory lock)与行锁的本质区别是什么,适合哪些应用场景?

    围绕“PostgreSQL 咨询锁(advisory lock)与行锁的本质区别是什么,适合哪些应用场景”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答需要围绕强调其不绑定具体行、按应用语义取锁的特性与典型用途,不列出全部咨询锁函数。

    核心关键词PostgreSQL advisory lock 咨询锁 应用层互斥
    #事务与并发#数据库事务#SQL
  39. 0089
    数据库事务与并发

    PostgreSQL 会话级与事务级咨询锁在释放时机上有什么区别,选错会导致什么问题?

    围绕“PostgreSQL 会话级与事务级咨询锁在释放时机上有什么区别,选错会导致什么问题”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答连接复用(连接池)下会话级锁泄漏的风险。

    核心关键词PostgreSQL advisory lock 会话级 事务级 区别
    #事务与并发#数据库事务#SQL
  40. 0090
    数据库事务与并发

    定位到阻塞其他会话的长事务后,pg_cancel_backend 与 pg_terminate_backend 该如何选择?

    围绕“定位到阻塞其他会话的长事务后,pg_cancel_backend 与 pg_terminate_backend 该如”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要比较取消当前语句与断开整个连接的影响面及回滚代价。

    核心关键词pg_cancel与pg_terminate杀会话区别
    #事务与并发#数据库事务#并发编程
  41. 0091
    数据库事务与并发

    先 SELECT 判断余额再 UPDATE 扣款为什么在高并发下可能超扣,有哪几种修复方式?

    围绕“先 SELECT 判断余额再 UPDATE 扣款为什么在高并发下可能超扣,有哪几种修复方式”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要比较条件 UPDATE(WHERE balance>=n)、行锁与隔离级别三种修复的强弱。

    核心关键词超卖 超扣 并发 检查再更新 竞态
    #事务与并发#数据库事务#表单
  42. 0092
    数据库事务与并发

    为什么给 PostgreSQL 大表加列默认值或建普通索引可能长时间锁表,有什么低影响的替代方案?

    围绕“为什么给 PostgreSQL 大表加列默认值或建普通索引可能长时间锁表,有什么低影响的替代方案”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答 ACCESS EXCLUSIVE 锁的阻塞效果与 CONCURRENTLY 等低锁方案的取舍。

    核心关键词PostgreSQL 大表 DDL 锁表与在线建索引
    #事务与并发#数据库事务#SQL
  43. 0093
    数据库事务与并发

    PostgreSQL 如何检测死锁,deadlock_timeout 参数控制的是什么?

    围绕“PostgreSQL 如何检测死锁,deadlock_timeout 参数控制的是什么”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答等待超时后做环检测并选牺牲事务中止的机制与参数含义。

    核心关键词PostgreSQL deadlock_timeout 死锁检测
    #事务与并发#数据库事务#SQL
  44. 0094
    数据库事务与并发

    数据库死锁形成需要哪些条件,两个事务更新两张表的什么顺序会触发死锁?

    围绕“数据库死锁形成需要哪些条件,两个事务更新两张表的什么顺序会触发死锁”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答需要围绕用 AB/BA 顺序交叉加锁的经典例子回答四个必要条件。

    核心关键词数据库死锁 产生条件 更新顺序
    #事务与并发#数据库事务#并发编程
  45. 0095
    数据库事务与并发

    拿到 PostgreSQL 死锁日志后,如何从中还原出是哪些语句按什么顺序持锁造成的?

    围绕“拿到 PostgreSQL 死锁日志后,如何从中还原出是哪些语句按什么顺序持锁造成的”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖要求会读日志中的进程、等待关系与涉及语句,给出固定加锁顺序的预防结论。

    核心关键词PostgreSQL 死锁日志 分析 deadlock detected
    #事务与并发#数据库事务#SQL
  46. 0096
    数据库事务与并发

    事务因死锁被选为牺牲者中止后,应用层的重试逻辑应该怎么写才安全?

    围绕“事务因死锁被选为牺牲者中止后,应用层的重试逻辑应该怎么写才安全”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确错误码 40P01 的识别、整事务重试与幂等性要求。

    核心关键词死锁 重试 40P01 幂等 事务
    #事务与并发#数据库事务#并发编程
  47. 0097
    数据库事务与并发

    PostgreSQL 中把隔离级别设为 Read Uncommitted 会发生什么,脏读真的存在吗?

    围绕“PostgreSQL 中把隔离级别设为 Read Uncommitted 会发生什么,脏读真的存在吗”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖要指出 PostgreSQL 将其映射为 Read Committed 的实现决策。

    核心关键词PostgreSQL Read Uncommitted 脏读
    #事务与并发#数据库事务#SQL
  48. 0098
    数据库事务与并发

    为什么 PostgreSQL 提供 FOR NO KEY UPDATE 这种行锁,它比 FOR UPDATE 弱在哪里?

    围绕“为什么 PostgreSQL 提供 FOR NO KEY UPDATE 这种行锁,它比 FOR UPDATE 弱在哪”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖要指出不修改键列的更新可用更弱锁从而减少与外键检查的冲突。

    核心关键词PostgreSQL FOR NO KEY UPDATE 外键 锁
    #事务与并发#数据库事务#SQL
  49. 0099
    数据库事务与并发

    SELECT FOR UPDATE NOWAIT 与 SKIP LOCKED 在拿不到锁时行为有何不同,各自适合什么场景?

    围绕“SELECT FOR UPDATE NOWAIT 与 SKIP LOCKED 在拿不到锁时行为有何不同,各自适合什么”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖分别用立即报错抢锁与跳过已锁行做任务队列的例子回答。

    核心关键词FOR UPDATE NOWAIT 与 SKIP LOCKED 区别
    #事务与并发#数据库事务#表单
  50. 0100
    数据库事务与并发

    SELECT FOR UPDATE 与 FOR SHARE 锁住的行分别允许其他事务做什么?

    围绕“SELECT FOR UPDATE 与 FOR SHARE 锁住的行分别允许其他事务做什么”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要比较两种行锁强度及与 NO KEY UPDATE、KEY SHARE 的冲突关系。

    核心关键词SELECT FOR UPDATE FOR SHARE 区别
    #事务与并发#数据库事务#表单
上一页
123
下一页
前端进阶之旅本地 Markdown 维护 · 服务端分页 · 完整内容对用户与搜索引擎一致