performance - 架构和索引以及主键 : Differences in lookup performance?

标签 performance postgresql schema primary-key rdbms

我有一个数据库(准确地说是在 postgres 上运行),具有以下结构:

user1 (schema)
|
 - cars (table)
 - airplanes (table, again)
 ...
user2
|
 - cars
 - airplanes
 ...

它显然没有像经典关系数据库那样结构化,但它“正常工作”就像现在一样。如您所见,模式就像用于标识条目的主键。

性能而言 - 仅此而已 - 是否值得重建它以便它具有传统的主键(varchar 是它们的类型)和聚集索引而不是模式?

最佳答案

从性能的角度来看,实际上从任何角度来看,这肯定是一场噩梦,重建!

在不了解您的情况的情况下,我想答案是肯定的,这会影响性能。通常简单的查询不仅编写和维护起来要复杂得多,而且数据库会生成执行成本高得多的查询计划。

编辑:我曾使用并设计过数据库来处理高工作负载环境(银行和医疗)中的大量数据,但我从未见过类似的情况;好吧,不是在现代世界!

关于performance - 架构和索引以及主键 : Differences in lookup performance?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3175362/

相关文章:

mongodb - MongoDB 的待办事项列表模式设计有什么建议?

具有一个强制性属性和至少另一个未键入的 json 模式检查

database - 在 PostgreSQL 表中创建多个索引的缺点

c# - 如何降低垃圾收集性能开销

c++ - 在 C++ 中哪个更快 : i<=N or i<N+1

java - 实现带有最终字段的接口(interface)还是直接访问字段?

postgresql - 我如何在 plpgsql 中使用变量作为字段名

sql - 如何正确使用 WHERE 子句?

mysql - 从连接表中提取信息的 SQL 查询

python - 具有值历史的非同质数据的数据库设计