01
三库对比总览
At-a-Glance Comparison
先把三家的脾气放在一张桌上比一比,后面章节再逐个拆。这张表不用背,混个眼熟,知道谁强在哪就行。
| 维度 | MySQL 8.4 | Oracle 23ai | PostgreSQL 17 |
|---|---|---|---|
| 语法差异 | 自由但不完全标准,LIMIT 分页、反引号引标识符 | 最接近标准但有自己一套,ROWNUM、|| 拼接、DUAL 表 | 标准 SQL 最忠实,RETURNING、DISTINCT ON、CTE 递归 |
| 数据类型 | INT/BIGINT、VARCHAR、TEXT、DATETIME、DECIMAL、JSON | NUMBER(精度,标度)、VARCHAR2、CLOB/BLOB、DATE 带时分秒、TIMESTAMP | SERIAL、TEXT、NUMERIC、JSON/JSONB、数组、范围、几何、UUID |
| 核心特性 | InnoDB 引擎、MVCC、主从复制、分区表 | RAC、Data Guard、PL/SQL、AWR、闪回、内置向量 | MVCC、丰富索引(GIN/GiST/BRIN)、扩展生态(PostGIS/pgvector) |
| 性能特点 | 高并发 OLTP 读写轻快,简单查询极快 | 复杂查询与大事务下稳定彪悍,资源消耗大 | 复杂查询、写并发、JSON/分析型场景表现优异 |
| 社区生态 | 生态最大、教程最多、招人最易 | 闭源商业,资料偏企业/考证向 | 开源社区极活跃,扩展丰富,新技术拥抱快 |
| 选型场景 | 互联网业务、中小系统、快速上线 | 金融/电信核心、强合规、已有 Oracle 资产 | 复杂业务、GIS、AI/RAG、要求标准与扩展性 |
别犯的第一个错
不要一上来就问"哪个最好"。数据库没有银弹,只有合不合适。小公司快速验证产品选 MySQL;银行核心选 Oracle;做地图、做 AI 向量检索选 PostgreSQL。先想清楚你要解决什么问题,再看它擅长什么。