cod*_*ool 1 performance database-design database-agnostic
我进行了搜索,但没有找到有关此主题的任何讨论。在连接表上创建许多额外的列有什么优点和缺点吗?因为我们加入了 3 个表,它会影响数据检索的速度吗?
就我而言,它可能会慢一点,但这是必要的,否则我们如何保存有关多对多关系的额外数据。或者还有其他我不知道的方式吗?
一般来说,表越宽查询越慢。但更慢并不一定意味着慢。
连接的数量可能更多地与 ID 号的使用有关。当密钥中携带重要信息时,自然密钥可以显着提高性能。(这种情况发生的频率比您想象的要高。)
M:N 表是存储有关 M:N 关系信息的自然而明智的位置。因此,添加列来存储有关该关系的信息非常有意义。较宽的表通常较慢,但不存储数据的窄表不太有用。