我在这里有一个数据库设计,它以简化版本显示:
表building
:
- ID
- 属性1
- 属性2
里面的数据是这样的:
- (1, 1, 1)
- (2, 1, 2)
- (3, 5, 4)
表attribute1_values
和attribute2_values
的结构如下:
- ID
- 价值
其中包含以下信息:
- (1,“选项1的文字描述”)
- (2,“选项2的文字描述”)
- ...
- (6,“选项6的文字描述”)
我不确定这是否是最好的设置,但它是按照我的项目经理的要求完成的。它肯定有一些道理,因为您现在可以轻松地修改文本而不会弄乱 id 的操作。
但是现在我来到了一个需要列出属性的页面,那么我该如何去那里呢?我看到两个主要选择:
1) 进行一个大查询,从表中收集所有值,building
同时从attribute{x}_values
表中选择正确的文本表示。
building
2) 进行一个小查询,从表中收集所有值。然后,一次获得每个属性的文本表示。
最好的选择是什么?选项 1 是否比选项 2 更快?如果是这样,是否值得额外的维护麻烦?