【发布时间】:2015-12-12 19:41:41
【问题描述】:
我已经阅读了大量的答案,但还没有找到解释。我想知道如何正确设置特定表的索引。
我有一个连接其他两个表的关系表,其中还包含一些数据:
我想知道如何根据这点正确设置索引:
id列是必需的(因为我使用的 Laravel 框架需要id主键)。room_id、channel_id和date需要唯一,因为 3 一起代表行。room_id和channel_id是外键。date列必须作为其公共搜索列进行索引。
我想出了这个,但我很确定它是多余且错误的:
- 复合主键:
id、room_id、channel_id。 - 复合唯一索引:
room_id、channel_id、date。 - 索引:
room_id - 索引:
channel_id - 索引:
date
附加问题:date 是否需要成为复合主键的一部分?
想知道正确设置主键、索引和唯一性的热点。
【问题讨论】:
标签: mysql