如何使用 SQL 窗口函数计算累计总额?

SQL 里做累计总额,关键不是把数据分组求和,而是在保留原始行数的前提下,按稳定顺序逐行累加。本文用窗口函数 `SUM() OVER()` 说明基础写法,并补出排序不稳定与大表性能这两个最容易踩坑的判断点。

如何使用 SQL 窗口函数计算累计总额?

如何为 SQL 视图优化索引和执行计划

SQL 视图本身不存数据,查询性能几乎完全取决于展开后的底层 SQL 是否能正确利用索引。本文围绕视图变慢时最常见的几个根因,梳理如何看执行计划、怎样设计复合与覆盖索引,以及何时该把复杂视图改成 CTE 或物化方案。

如何为 SQL 视图优化索引和执行计划

SQL 触发器中为什么不建议执行复杂查询

把复杂查询塞进 SQL 触发器,问题不只是“可能变慢”,而是会把写入路径直接拖进同步阻塞。本文拆开触发器为何会放大全表扫描、锁等待和排障难度,也给出更适合上线环境的替代做法,帮助你判断哪些写法该立即移除。

SQL 触发器中为什么不建议执行复杂查询

如何兼容不支持 QUALIFY 的 SQL 数据库?

`QUALIFY` 适合在窗口函数计算后直接筛行,但它并不是 SQL 标准语法。遇到 PostgreSQL、SQL Server、以及不支持该关键字的 MySQL 版本时,最稳妥的办法是把查询改写成“内层算窗口、外层做过滤”的两层结构,同时检查排序、NULL 语义和执行计划。

如何兼容不支持 QUALIFY 的 SQL 数据库?

SQL 子查询如何优化亿级数据查询

在亿级数据表上,子查询慢往往不是语法本身的问题,而是嵌套循环、临时表物化和索引缺失叠加造成的。本文围绕何时把 IN/EXISTS 改写为 JOIN、索引该补在哪些位置,以及深度分页场景该如何拆解,整理出一套更适合线上排查的判断方法。

SQL 子查询如何优化亿级数据查询

SQL 存储过程如何压测并发执行性能

用 JMeter 压测 Oracle 存储过程时,结果失真往往不是数据库性能问题,而是调用方式和参数配置出了偏差。本文按“能否真实打到存储过程”“参数是否绑定正确”“并发是否被环境限制”三条线梳理常见误区,帮助你快速判断压测结果到底能不能信。

SQL 存储过程如何压测并发执行性能

SQL Server 中如何强制指定 JOIN 算法

在 SQL Server 里,想强制某一对表使用指定 JOIN 算法,关键不在语句末尾加 `OPTION`,而在 `JOIN` 关键字旁边写对提示。本文把 `LOOP`、`MERGE` 等常见用法、失效原因和验证方法拆开讲清,帮助你判断什么时候该提示、什么时候该让优化器自己选。

SQL Server 中如何强制指定 JOIN 算法

SQL 插入小数后精度丢失怎么办

SQL 插入小数后“变整数”或计算结果飘移,通常不是数据损坏,而是字段类型、驱动传参、批量绑定或浮点运算在中间环节丢了 scale。本文按 SQL Server、MySQL、MyBatis 以及 PostgreSQL/Oracle 四类常见场景拆解原因,并给出可直接落地的修正方式。

SQL 插入小数后精度丢失怎么办

Debian 下 Python 如何连接数据库:5 种常见方案与选型说明

这篇文章按数据库类型梳理 Debian 下 Python 的常见连接方式,覆盖 MySQL、PostgreSQL、SQLite、MongoDB 和 Redis。除了保留原始安装命令与示例代码,还补充了选型思路和连接时最容易出错的配置检查点。 在 Debian 上用 Python 接数据库,难点通常不在“能不能连上”,而在于不同数据库的驱动、连接对象和使用场景差别很大。

Debian 下 Python 如何连接数据库:5 种常见方案与选型说明