我有一个 newbie question,如下红字标注的部分
CREATE TABLE `titles` (
`emp_no` int(11) NOT NULL,
`title` varchar(50) NOT NULL,
`from_date` date NOT NULL,
`to_date` date default NULL,
PRIMARY KEY (`emp_no`,`title`,`from_date`),
KEY `emp_no` (`emp_no`),
CONSTRAINT `titles_ibfk_1` FOREIGN KEY (`emp_no`) REFERENCES `employees` (`emp_no`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8红字标注的部分到底有什么用么,我搜索出什么候选键之类的答案,希望得到其他更为具体的答案
CREATE TABLE `titles` (
`emp_no` int(11) NOT NULL,
`title` varchar(50) NOT NULL,
`from_date` date NOT NULL,
`to_date` date default NULL,
PRIMARY KEY (`emp_no`,`title`,`from_date`),
KEY `emp_no` (`emp_no`),
CONSTRAINT `titles_ibfk_1` FOREIGN KEY (`emp_no`) REFERENCES `employees` (`emp_no`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8红字标注的部分到底有什么用么,我搜索出什么候选键之类的答案,希望得到其他更为具体的答案
第二个 `emp_no`(圆括号里面的)是这个约束所引用的字段;
是索引 相当于建立了目录 在搜索emp_no的时候 从目录直接找到具体的位置 而不用所有数据都扫描一遍