大量Schema是否会影响PostgreSQL性能?2015年的结论在2023年是否仍有效?
PostgreSQL多Schema设计对集群性能的影响问题
假设运行一个PostgreSQL集群,集群内仅包含1个数据库,该数据库中存在数千个Schema(为每个应用租户单独创建一个),每个Schema都包含结构完全相同的8张表(例如users、orders、invoice等)。

我清楚这并非典型的多租户应用设计:此方案通过Schema实现租户隔离;而常规方案是在单个Schema下仅保留8张表,将租户ID设计为表的键值之一。
我的核心问题如下:
- 该设计是否会导致数据库服务器性能急剧下降(如内存占用、CPU消耗激增等)?原因是什么?
- 若答案为是,是否存在估算内存消耗的粗略公式?
补充:2015年Neil McGuigan的相关表述
“在数据库中使用多Schema最常见的场景是构建软件即服务(SaaS)应用,为每个客户分配独立Schema。尽管该方案看似诱人,但我们强烈不建议采用,因其已引发大量运维问题。例如,即使是中等数量的Schema(>50)也会严重影响Heroku数据库快照工具的性能”——Neil McGuigan
额外问题:上述表述在2023年是否仍然有效?
内容的提问来源于stack exchange,提问作者chen
相关产品推荐
相关产品推荐

