我有一个数据库(准确地说是在 postgres 上运行),具有以下结构:
user1 (schema)
|
- cars (table)
- airplanes (table, again)
...
user2
|
- cars
- airplanes
...
它显然没有像经典关系数据库那样结构化,但它“正常工作”就像现在一样。如您所见,模式就像用于标识条目的主键。
就性能而言 - 仅此而已 - 是否值得重建它以便它具有传统的主键(varchar 是它们的类型)和聚集索引而不是模式?
最佳答案
从性能的角度来看,实际上从任何角度来看,这肯定是一场噩梦,重建!
在不了解您的情况的情况下,我想答案是肯定的,这会影响性能。通常简单的查询不仅编写和维护起来要复杂得多,而且数据库会生成执行成本高得多的查询计划。
编辑:我曾使用并设计过数据库来处理高工作负载环境(银行和医疗)中的大量数据,但我从未见过类似的情况;好吧,不是在现代世界!
关于performance - 架构和索引以及主键 : Differences in lookup performance?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3175362/