- 介绍如何用 PostgreSQL 的 SELECT ... FOR UPDATE SKIP LOCKED 在单表上实现多 worker 并发消费的任务队列,给出表结构、原子拉取 SQL 和 Python 最小示例,并说明状态字段、重试计数、延迟重试与超时恢复的处理方式,最后讨论至少一次语义、幂等要求和适用边界。 介绍如何用 PostgreSQL 的 SELECT ... FOR UPDATE SKIP LOCKED 在单表上实现多 worker 并发消费的任务队列,给出表结构、原子拉取 SQL 和 Python 最小示例,并说明状态字段、重试计数、延迟重试与超时恢复的处理方式,最后讨论至少一次语义、幂等要求和适用边界。
- 缓存与数据库一致性难题。策略:Cache-Aside 旁路(读时加载,写时删除)、Write-Through 写穿透(同时写)、Write-Behind 写回(异步写)。问题:缓存穿透(查不到,布隆过滤器/空值缓存)、缓存击穿(热点过期,互斥锁/永不过期)、缓存雪崩(大量同时过期,随机过期时间)。延时双删:先删缓存,更新数据库,延时再删缓存。Canal 订阅 binlog 异步更新缓存。 文... 缓存与数据库一致性难题。策略:Cache-Aside 旁路(读时加载,写时删除)、Write-Through 写穿透(同时写)、Write-Behind 写回(异步写)。问题:缓存穿透(查不到,布隆过滤器/空值缓存)、缓存击穿(热点过期,互斥锁/永不过期)、缓存雪崩(大量同时过期,随机过期时间)。延时双删:先删缓存,更新数据库,延时再删缓存。Canal 订阅 binlog 异步更新缓存。 文...
- 业务人员用AI,和程序员、分析师用AI,面临的是完全不同的处境。程序员懂技术,能自己搭工具、写脚本;分析师懂数据,能自己建模、调口径。业务人员夹在中间,既不懂技术,也不精数据,却恰恰是最需要数据洞察来支撑日常判断的一群人。销售要知道哪个客户该重点跟进,运营要知道哪个渠道的转化出了问题,市场要知道哪个活动的ROI不达标,这些判断都依赖数据,但业务人员往往卡在取数这一步。2026年,AI正在改变... 业务人员用AI,和程序员、分析师用AI,面临的是完全不同的处境。程序员懂技术,能自己搭工具、写脚本;分析师懂数据,能自己建模、调口径。业务人员夹在中间,既不懂技术,也不精数据,却恰恰是最需要数据洞察来支撑日常判断的一群人。销售要知道哪个客户该重点跟进,运营要知道哪个渠道的转化出了问题,市场要知道哪个活动的ROI不达标,这些判断都依赖数据,但业务人员往往卡在取数这一步。2026年,AI正在改变...
- 事务保证原子操作。ACID:Atomicity 原子性(全部成功或回滚),Consistency 一致性(约束不变),Isolation 隔离性(并发互不干扰),Durability 持久性(提交后不丢失)。BEGIN 开启事务,COMMIT 提交,ROLLBACK 回滚。隔离级别:读未提交、读已提交、可重复读、串行化,级别越高并发越低。 文章从技术背景和发展历程入手,帮助读者理解该技术的产... 事务保证原子操作。ACID:Atomicity 原子性(全部成功或回滚),Consistency 一致性(约束不变),Isolation 隔离性(并发互不干扰),Durability 持久性(提交后不丢失)。BEGIN 开启事务,COMMIT 提交,ROLLBACK 回滚。隔离级别:读未提交、读已提交、可重复读、串行化,级别越高并发越低。 文章从技术背景和发展历程入手,帮助读者理解该技术的产...
- 表结构设计影响性能和可维护性。命名规范:snake_case,见名知义。字段设计:合适类型、NOT NULL+默认值、注释。主键:自增ID/雪花ID/业务主键。索引:频繁查询字段、JOIN 字段、唯一约束。避免:过大字段(TEXT/BLOB 单独表)、过多字段(垂直拆分)、冗余字段(适度反范式)。版本管理:DDL 脚本化,Flyway/Liquibase。 文章从技术背景和发展历程入手,帮助... 表结构设计影响性能和可维护性。命名规范:snake_case,见名知义。字段设计:合适类型、NOT NULL+默认值、注释。主键:自增ID/雪花ID/业务主键。索引:频繁查询字段、JOIN 字段、唯一约束。避免:过大字段(TEXT/BLOB 单独表)、过多字段(垂直拆分)、冗余字段(适度反范式)。版本管理:DDL 脚本化,Flyway/Liquibase。 文章从技术背景和发展历程入手,帮助...
- 在自引用员工表上做组织架构遍历时,manager_id 成环会让 WITH RECURSIVE 无限展开。本文给出可运行的最小示例:在递归项中用数组累积祖先 ID,通过 = ANY 判断是否重复,并用 is_cycle 标记提前终止,同时说明索引、数组开销等边界。 在自引用员工表上做组织架构遍历时,manager_id 成环会让 WITH RECURSIVE 无限展开。本文给出可运行的最小示例:在递归项中用数组累积祖先 ID,通过 = ANY 判断是否重复,并用 is_cycle 标记提前终止,同时说明索引、数组开销等边界。
- SQL JOIN 多表查询的基本使用SQL 中的 JOIN 用于关联多个数据表,可以根据共同字段查询相关数据,常用于用户订单、商品信息和业务数据统计。创建查询示例假设有两个表:users 保存用户信息,orders 保存订单信息。-- users 表SELECT id, name FROM users;-- orders 表SELECT user_id, amount FROM orders... SQL JOIN 多表查询的基本使用SQL 中的 JOIN 用于关联多个数据表,可以根据共同字段查询相关数据,常用于用户订单、商品信息和业务数据统计。创建查询示例假设有两个表:users 保存用户信息,orders 保存订单信息。-- users 表SELECT id, name FROM users;-- orders 表SELECT user_id, amount FROM orders...
- 实测 DuckDB 1.5.6:不装数据库服务,用 SQL 直接查 CSV、JSON Lines 与 Parquet,完成中文聚合和三源 JOIN,附 6 个坑。 实测 DuckDB 1.5.6:不装数据库服务,用 SQL 直接查 CSV、JSON Lines 与 Parquet,完成中文聚合和三源 JOIN,附 6 个坑。
- 反范式化牺牲规范化换取性能。冗余字段:订单表存用户名(避免 JOIN)。预计算:统计表存汇总值(避免 COUNT/SUM)。派生字段:缓存计算结果。优势:减少 JOIN,提升查询速度。劣势:数据冗余,更新需同步(应用层/触发器)。适用场景:读多写少、报表查询。定期评估,避免过度反范式。 文章从技术背景和发展历程入手,帮助读者理解该技术的产生原因和演进脉络。通过对比不同版本的特性变化,分析技术... 反范式化牺牲规范化换取性能。冗余字段:订单表存用户名(避免 JOIN)。预计算:统计表存汇总值(避免 COUNT/SUM)。派生字段:缓存计算结果。优势:减少 JOIN,提升查询速度。劣势:数据冗余,更新需同步(应用层/触发器)。适用场景:读多写少、报表查询。定期评估,避免过度反范式。 文章从技术背景和发展历程入手,帮助读者理解该技术的产生原因和演进脉络。通过对比不同版本的特性变化,分析技术...
- 一个事务跑了半小时还没提交,Redo Log空间持续缩小,最终InnoDB暂停所有写入等待刷盘。根因不在磁盘慢,在长事务阻塞了checkpoint推进:它需要的旧日志不能被覆盖,脏页刷盘速度又跟不上日志产生速度。本文拆解Redo Log的循环写机制、checkpoint推进的制约条件、Checkpoint风暴的触发链路与排查方法。 一个事务跑了半小时还没提交,Redo Log空间持续缩小,最终InnoDB暂停所有写入等待刷盘。根因不在磁盘慢,在长事务阻塞了checkpoint推进:它需要的旧日志不能被覆盖,脏页刷盘速度又跟不上日志产生速度。本文拆解Redo Log的循环写机制、checkpoint推进的制约条件、Checkpoint风暴的触发链路与排查方法。
- 高并发场景数据库优化。连接池:复用连接。缓存:Redis 缓存热点数据。读写分离:分散读压力。分库分表:水平扩展。异步化:消息队列削峰。索引优化:减少扫描。SQL 优化:避免全表扫描。批量操作:减少网络往返。限流降级:保护数据库。扩容:垂直升级(更强硬件)、水平扩展(分片)。 高并发场景数据库优化。连接池:复用连接。缓存:Redis 缓存热点数据。读写分离:分散读压力。分库分表:水平扩展。异步化:消息队列削峰。索引优化:减少扫描。SQL 优化:避免全表扫描。批量操作:减少网络往返。限流降级:保护数据库。扩容:垂直升级(更强硬件)、水平扩展(分片)。
- CTE 定义临时结果集,简化复杂查询。WITH cte AS (查询) SELECT ... FROM cte。优势:提高可读性,避免重复子查询。可多个 CTE,后面引用前面。递归 CTE 处理层级数据。物化 CTE:PostgreSQL MATERIALIZED 关键字,缓存结果。适用场景:复杂 JOIN、分页查询、排名计算。比派生表更清晰。 文章从技术背景和发展历程入手,帮助读者理解该技... CTE 定义临时结果集,简化复杂查询。WITH cte AS (查询) SELECT ... FROM cte。优势:提高可读性,避免重复子查询。可多个 CTE,后面引用前面。递归 CTE 处理层级数据。物化 CTE:PostgreSQL MATERIALIZED 关键字,缓存结果。适用场景:复杂 JOIN、分页查询、排名计算。比派生表更清晰。 文章从技术背景和发展历程入手,帮助读者理解该技...
- SQL 面试考察实战能力。高频题:分组排名(窗口函数)、连续问题(行号差值)、累计计算(窗口函数)、行列转换(CASE WHEN/PIVOT)、TopN(窗口函数)、留存率(自连接)、环比增长(LAG)。优化题:索引失效场景、慢查询优化。设计题:表结构设计、范式应用。准备:LeetCode SQL 题、实际项目经验。 文章从技术背景和发展历程入手,帮助读者理解该技术的产生原因和演进脉络。通过... SQL 面试考察实战能力。高频题:分组排名(窗口函数)、连续问题(行号差值)、累计计算(窗口函数)、行列转换(CASE WHEN/PIVOT)、TopN(窗口函数)、留存率(自连接)、环比增长(LAG)。优化题:索引失效场景、慢查询优化。设计题:表结构设计、范式应用。准备:LeetCode SQL 题、实际项目经验。 文章从技术背景和发展历程入手,帮助读者理解该技术的产生原因和演进脉络。通过...
- PostgreSQL 和 MySQL 是最流行的开源数据库。MySQL:读性能优,部署简单,生态成熟,云支持好。PostgreSQL:功能丰富,复杂查询强,扩展性好,SQL 标准严格。选型:互联网业务 MySQL 居多,复杂分析/地理信息 PostgreSQL。迁移考虑:语法差异、函数差异、工具生态。两者都在持续进化,差距缩小。 文章从技术背景和发展历程入手,帮助读者理解该技术的产生原因和演... PostgreSQL 和 MySQL 是最流行的开源数据库。MySQL:读性能优,部署简单,生态成熟,云支持好。PostgreSQL:功能丰富,复杂查询强,扩展性好,SQL 标准严格。选型:互联网业务 MySQL 居多,复杂分析/地理信息 PostgreSQL。迁移考虑:语法差异、函数差异、工具生态。两者都在持续进化,差距缩小。 文章从技术背景和发展历程入手,帮助读者理解该技术的产生原因和演...
- 数据库中间件提供统一访问层。分库分表:ShardingSphere(Apache)、MyCat。读写分离:ProxySQL、MyRouter。代理层:屏蔽后端差异,路由、负载均衡、熔断。SQL 审计:记录分析 SQL。数据脱敏:敏感字段转换。协议转换:MySQL 协议转其他。选型:功能需求、性能损耗、社区活跃度。 文章从技术背景和发展历程入手,帮助读者理解该技术的产生原因和演进脉络。通过对比... 数据库中间件提供统一访问层。分库分表:ShardingSphere(Apache)、MyCat。读写分离:ProxySQL、MyRouter。代理层:屏蔽后端差异,路由、负载均衡、熔断。SQL 审计:记录分析 SQL。数据脱敏:敏感字段转换。协议转换:MySQL 协议转其他。选型:功能需求、性能损耗、社区活跃度。 文章从技术背景和发展历程入手,帮助读者理解该技术的产生原因和演进脉络。通过对比...
上滑加载中
推荐直播
-
华为云码道Agent集成与鸿蒙实战2026/08/11 周二 19:00-21:00
王一男-华为云码道产品规划专家;李炎-华为云码道产品专家;彭江敏-华为云鸿蒙端云一体化开发专家
本次直播带你解读华为云码道7月份产品新特性、新功能。更有专家演示码道Agent Space × 钉钉机器集成实战,从0到1打通消息通道;码道鸿蒙端云一体化实战,快速搭建员工签到系统。
回顾中 -
华为云开发者AI素养直播课·第五期2026/09/04 周五 16:00-18:00
林华鼎-华为云AI开发者运营负责人;蒋春阳-华为云AI开发者案例开发专家
本期直播内容: AI工具体验营 · 第5-8课连讲。Agent-Team 多智能体协作完成毕业设计实践
回顾中 -
华为云开发者AI素养ClassRoom·第六期2026/09/08 周二 19:00-20:00
樊渊-2026华为软件挑战赛冠军
高手来了:看软挑高手解析二维排样问题—从工业难题到算法突破
回顾中
热门标签