category

golang

共 465 篇文章。
全部文章gamegolang客户端开发MinigameSaasrustPythonJavacgTypescriptengineCocosMmodatabase
golang

《Go 语言编程实战》6.3 N+1、批量与查询优化

一个 500 条的列表接口,背后可能是 501 次查询。本节在 2 万行真实数据上实测 N+1 的 1.999 秒与 JOIN 的 29 毫秒,对比 JOIN、批量 IN、预加载三种修法的取舍,用 EXPLAIN 分析 33% 选择性下索引到底值不值,并诚实记录覆盖索引建了却不被规划器采用的情况,最后实测 2 万行写入中逐条 1 分 10 秒与 COPY 25 毫秒的量级差。

7 分钟阅读
Go Go 语言编程实战 N+1
golang

《Go 语言编程实战》6.2 事务边界与并发控制

事务开在哪一层、跨仓库的写操作怎么共享同一个事务,比「会不会写 BEGIN」难得多。本节在真实 Postgres 上复现 READ COMMITTED 的丢失更新,实测 FOR UPDATE 与乐观锁两种修法如何把 1100 修回 1200,复现 REPEATABLE READ 的 40001 与死锁 40P01 并给出重试策略,最后列出长事务、事务中发 HTTP 这类拖死连接池的坑。

8 分钟阅读
Go Go 语言编程实战 事务