MySQL vs PostgreSQL 性能横评:10 个场景的真实数据
引言 "MySQL 和 PostgreSQL 到底谁快?"这个问题几乎每个月都会在不同群里引发一轮争吵。吵架的根源是双方都在拿"我上次那个查询快多了"之类的孤例互相说服,而没有限定场景——OLTP 点查 MySQL 有传统优势,JSON 检索 PG 甩开几倍,谁的孤例都能成立,但谁也说服不了谁。性能对比没有全局答案,只有场景答案。 这篇文章用统一环境(同一台服务器、相同数据量、相同压测工具、各库都给合理配置而非默认摆烂配置)跑完 10 个高频场景,把"谁在什么条件下快、快多少、为什么"一次说清。数据来自我们的真实测试环境,绝对数值会随硬件和版本波动,但相对结论(谁领先、差距量级、原因)在不同机器上是稳定的。测试脚本在文末完整给出,欢迎在你自己的环境里复现打脸。 前置说明:测试基于 MySQL 8.0.36(InnoDB)与 PostgreSQL 16.3,双方都经过基础调优(buffer pool / shared_buffers 各按内存 50~60% 配置,关闭自动提交干扰,数据全部预热后测量)。所有场景均跑 5 轮取中位数。 一、测试环境与方法论:先立规矩,再谈数据 1.1....