【发布时间】:2015-07-01 02:09:04
【问题描述】:
我正在开发一个带有数据库的简单聊天应用程序。该项目的数据库如图所示。
消息表中的方向列只是为了判断user1是发送者还是user2是发送者。
我使用这个查询来获取消息:
SELECT TextContent,Direction FROM Messages
WHERE User1 = 1 AND User2 = 2
ORDER BY Date
User1 和 User2 的值仅用于说明。
我有两个问题:
-
我没有为 Messages 表选择主键。我应该简单地选择 ID 列作为主键还是选择多个列作为主键?
-
我应该在 (User1,User2, 日期)列或(用户1,用户2,ID)列?。我应该创建集群索引还是非集群索引?
【问题讨论】:
-
@mohan111 这不是重复的。这里的问题更具体。我试图从链接中的问题中得到完整的答案,但我做不到。回答问题的程序员没有回答我的 cmets。
标签: sql-server indexing chat primary-key