只是想询问您对这些数据库模式的看法。 您认为哪个更可取,请告诉我原因?
选项 1:
Table Name: Residents
id | name | street_id
1 | Peter | 1
1 | John | 1
Table Name: Streets
id | name
1 | Rock St.
2 | Green St.
选项 2:
Table Name: Residents
id | name | street
1 | Peter | Rock St.
1 | John | Rock St.
最佳答案
这要看情况。 (这总是取决于!:-)
选项 1 的优点是,如果您需要更改“Rock St.”的名称,到“摇滚路”。那么您只需更改 Streets
表中的一行。如果您需要更改选项 2 中的街道名称,则可能需要更改许多行。
选项 2 的优点是您不需要执行 JOIN
查询来获取道路名称和居民姓名。一般来说,执行 JOIN
通过主键查找街道的成本并不高,但某些应用程序对性能优化的要求非常高,以至于它们试图消除连接。但老实说,没有多少应用程序如此敏感以至于无法偶尔进行 JOIN
操作。
关于mysql - 这些数据库模式中哪一个更可取?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46397156/