数据库 PostgreSQL ON CONFLICT DO UPDATE WHERE 的条件更新写法 ON CONFLICT DO UPDATE WHERE 是作用于更新阶段的条件判断,仅决定是否执行 SET 操 […]...
数据库 swap 使用率高但 free available 充足的 vm.overcommit_memory=1 风险评估 不危险,但需确认高 swap 使用是否由真实内存压力驱动;若 pgmajfault 激增、oom_kill 频 […]...
数据库 如何用分区表 TRUNCATE PARTITION 实现按月清空历史数据 TRUNCATE PARTITION 比 DELETE 更快,因其是 DDL 操作,直接释放数据页和元数据,不 […]...
数据库 SQL 如何用 INTERSECT / EXCEPT 实现交集与差集(跨数据库兼容) MySQL 不支持 INTERSECT 和 EXCEPT,需用 INNER JOIN + DISTINCT 模 […]
数据库 如何用视图 + INSTEAD OF TRIGGER 实现可更新视图 普通视图不能直接更新多表连接结果,因为数据库无法确定修改应作用于哪张基表的哪个字段;INSTEAD OF 触发 […]...
数据库 SQL 中子查询相关性(correlated subquery)导致全表扫描的优化 相关子查询是子查询引用外部查询列、需为外层每行重复执行的查询,易因内层无索引触发全表扫描;改写为 JOIN+G […]...
数据库 PostgreSQL array_agg 与 string_agg 的排序与去重写法 array_agg 需用括号内 ORDER BY 保证结果有序,如 array_agg(col ORDER B […]
数据库 SQL 如何用 ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW 写法 ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW 定义从分区首 […]