MySQL中的联合主键(Composite Key)是指由两个或多个字段组合而成的主键。联合主键用于唯一标识表中的每一行数据,确保这些字段的组合在表中是唯一的。
联合主键可以是以下几种类型:
联合主键常用于以下场景:
假设有一个学生和课程的关系表 student_course
,其中 student_id
和 course_id
共同唯一标识一条记录:
CREATE TABLE student_course (
student_id INT NOT NULL,
course_id INT NOT NULL,
PRIMARY KEY (student_id, course_id)
);
原因:联合主键的性能可能不如单一主键,主要是因为联合主键需要检查多个字段的组合,这会增加数据库的索引大小和查询时间。
解决方法:
CREATE INDEX idx_student_course ON student_course (student_id, course_id);
希望这些信息对你有所帮助!如果有更多问题,欢迎继续提问。
领取专属 10元无门槛券
手把手带您无忧上云