数据库查询与表存储

时间:2018-08-27 22:32:23

标签: sql django database postgresql

我有几种型号。

游戏:

  • pk:id
  • ... other

GameSession(带有游戏的Manyto1):

  • pk:id
  • 游戏:game_id
  • ... other

ChatSession(带有GameSession的1to1):

  • pk:id
  • 会话:game_session_id
  • ... other

将信息存储在多个模型中或查询正确的对象会更好吗?

又是

要获取给定游戏会话的聊天会话,我应该查询类似select * from chatsessions where session=INT还是将chatsession id存储在GameSession模型中,这样就不必每次都查询需要访问聊天会话?

1 个答案:

答案 0 :(得分:0)

如果聊天与游戏会话为1:1,则取决于您的用例。如果您始终需要同时阅读两者,那么可能没有充分的理由将它们分开。

如果聊天会话实际上是一个很宽的表,有时只是引用,那么最好将其分开。

实际上,访问两个单独的表的影响不会很大,但是如果有两个表,则将具有两组索引,另外还要注意保持两者之间的参照完整性。

因此,如果没有更多信息,我想他们在一起会更好。