我使用数据库处理一个简单的聊天应用程序。项目数据库显示在图像中。
消息表中的direction列只是确定user1是发件人还是user2是发件人。
我使用此查询来获取消息:
SELECT TextContent,Direction FROM Messages
WHERE User1 = 1 AND User2 = 2
ORDER BY Date
User1和User2的值仅用于说明。
我有两个问题:
我没有为Messages表选择主键。我应该只选择ID列作为主键还是为主键选择多个列?
我应该在(User1,User2, 列)或列(User1,User2,ID)列?我应该创建集群索引还是非集群索引?
答案 0 :(得分:1)
是的,您应该在ID列上定义主键聚簇索引。
是的,您应该在(User1,User2,Date)上定义非聚簇复合索引。 ID已经包含在内了#34;如果您将ID定义为聚簇索引,则在非聚簇索引中。