PG GraphQL AGE 使用结论(2025-12-30)【祛魅万物皆可Postgresql】
本文对比了SQL与AGE(Cypher)在处理固定模式图查询时的性能差异。实验数据显示,SQL在执行时间(171ms vs 1317ms)、内存使用(69 vs 5810 shared hit)和临时文件(4MB vs 51MB)等方面显著优于AGE。分析指出,AGE的核心价值在于为PostgreSQL提供形式上的图数据库能力(支持Cypher查询),而非性能优势。在固定深度、固定关系的结构化查询
·
一、站在现在的实验结果上
同一业务问题,用 SQL vs 用 AGE,直接对比执行计划、耗时、buffer、temp I/O
结论数据摆在那:
| 维度 | 纯 SQL | AGE (Cypher) |
|---|---|---|
| 执行时间 | ~171 ms | ~1317 ms |
| shared hit | 69 | 5810 |
| 临时文件 | ~4 MB | ~51 MB |
| 中间行宽 | 瘦 | 极宽(agtype) |
| 可控性 | 极高 | 很低 |
👉 在 固定深度、固定关系类型、固定 join 模式 的问题上:
PostgreSQL 的关系代数 = 更低层、更可控、更高效
AGE 在这里 没有任何性能或表达优势。
二、AGE 到底解决了什么?
AGE 解决的不是“性能问题”,而是:
PostgreSQL 是否“形式上”具备图数据库能力。
也就是说,AGE 的价值是:
“Yes, PostgreSQL can run Cypher.”
而不是:
“PostgreSQL 用 AGE 可以像 Neo4j 那样跑图分析。”
这是两个完全不同的目标。
二、一句话定性
AGE 的存在意义不是“替代 SQL”,
而是“让 PostgreSQL 在‘有没有图能力’这个问题上,回答 Yes”。
更多推荐
所有评论(0)