有人可以给我一些关于为必须为 1 个地方存储 x 图片的系统设计表格的建议吗?
有这样的东西是不是更好:
放置表:
id_place / reference
100 1
200 2
300 3
picture table:
id_picture / reference / picture_url / main_piture
1 1 xxx false
2 1 xxx true
3 1 xxx false
4 2 xxx false
5 2 xxx true
6 3 xxx false
7 3 xxx true
8 3 xxx false
还是将所有内容都放在一张桌子上更好?
picture table:
id_picture / id_place / picture_url / main_picture
我看不出在设计上有更多差异,并且如果有选择,我会选择用一张表来存储这些图片。
单表消除了在 sql 查询中使用 JOIN 的需要,并将提高性能。
在单个表结构中,您可以根据用于读取数据的 sql 查询创建索引,这也将提高性能。
id_place
在您的第一个选项中,和之间是否存在一对一关系reference
?如果是这样,那么它就没有任何价值。相反,它会使您的 SQL 复杂化,并可能导致查询计划效率降低。reference
应该省略,您的第二个建议是继续进行的方式。