【发布时间】:2013-01-29 21:23:30
【问题描述】:
我有以下表格:
商品 { item_id, item_name, item_price,......}
部门 { division_id, division_name, division_address,......}
仓库 { 仓库 ID、仓库名称、........}
仓库分区 { partition_id、分区名称、........}
WarehouseRacks { rack_id, rack_name,.......}
现在,为了跟踪项目的位置,我有下表(关系)。
itemLocation { item_id, division_id, warehouse_id, partition_id, rack_id, floor_number}
它准确地跟踪一个项目的位置,但为了获得一个项目的位置信息,我必须加入五个表,这可能会导致性能问题。
此外,如果我们不获取整个字段,则该表没有任何主键。这会引起任何问题吗?有没有更好的方法来做到这一点?
谢谢。
【问题讨论】:
-
如果您能命名您正在使用的 DBMS,以及您的表的大致大小(以行为单位),将会有所帮助。五路连接通常在没有明显减速的情况下完成。
-
目前,它的 MySQL,但我很快将其迁移到 PostgreSQL。表大小可以是 Items = 10,000 - 100,000,Divisions
标签: database database-design optimization query-optimization