假设在 Postgres 数据库中,您有一个名为 的表party
,它可以包含少于 5 个定义良好的表,party_types
例如“Person”或“Organization”。
您会将其存储party_type
在party
表中(例如party_type = 'Person'
)还是对其进行规范化(例如party.party_type = 1
and party_type(id, name) = (1, 'Person')
)?
为什么?
假设在 Postgres 数据库中,您有一个名为 的表party
,它可以包含少于 5 个定义良好的表,party_types
例如“Person”或“Organization”。
您会将其存储party_type
在party
表中(例如party_type = 'Person'
)还是对其进行规范化(例如party.party_type = 1
and party_type(id, name) = (1, 'Person')
)?
为什么?
我有一个 PostgreSQL 表,Prices
其中包含以下列:
price
(十进制)product_id
(诠释)还有created_at
和updated_at
列。
价格会定期更新,我会在表中保留旧价格。对于给定的产品,表中的最后一个价格是当前价格。
获得特定产品最新价格的最有效方法是什么:
product_id
和查询active
(布尔值)以标记最新价格并创建复合索引(product_id
和active
)