当前位置: 首页 >
postgresql
-
为什么 一个结构体 LOCK 就可以 锁住含有千万行数据的表?
这也是很多初学者在从业务开发转型底层 DBA 时,最容易卡住的认知盲区。因为在人类的直觉里,“锁”是挂在具体物品上的;既然有 1000 万个物品(数据行),就应该有 1000 万把锁。 但在 PostgreSQL 的工业级内核架构中,这根本不是魔法,而是一种极其冷酷的**“访问路径劫持(Access Path Hijacking)”与“状态降维”** ...
-
postgresql数据库锁体系 之 行锁
第一步工程绝境:内存爆仓与“锁升级”的诅咒 【他山之石的痛点】 在 MySQL (InnoDB) 或 SQL Server 中,行锁是维护在内存里的(类似一个哈希表)。 假设你要执行一句 UPDATE orders SET status = 'DONE' WHERE create_time < '2025-01-01';,这条语句命中了 5000 万行数据。 如果把 5000 万个行锁对象全塞进内存 ...