分布式ID生成:为什么你的主键选择正在毁掉数据库性能
当一个128位的随机值作为B-tree索引的主键时,每一次插入都像是在图书馆的随机位置放一本书——图书管理员疲于奔命,书架越来越乱。这不是夸张的比喻:PostgreSQL的基准测试显示,使用UUID v4作为主键时,索引体积膨胀22%,插入速度下降34.8%。 ...
当一个128位的随机值作为B-tree索引的主键时,每一次插入都像是在图书馆的随机位置放一本书——图书管理员疲于奔命,书架越来越乱。这不是夸张的比喻:PostgreSQL的基准测试显示,使用UUID v4作为主键时,索引体积膨胀22%,插入速度下降34.8%。 ...
2015年,慕尼黑工业大学的研究团队做了一个实验:他们把PostgreSQL查询优化器的基数估计值全部替换成真实值,然后观察113个复杂查询的执行时间变化。 ...
你花了两小时设计了一套"完美"的索引方案:where条件列建了索引,排序字段建了索引,连join的列都建了索引。上线第一天,监控系统就开始报警——那条"应该很快"的查询,执行时间飙到了30秒。 ...