没有外键的 JOIN 读取性能与有外键的连接
JOIN read performance without foreign keys vs join with foreign keys
我已经阅读了许多相关帖子,但似乎没有关于该主题的明确答案。
数据库 - mysql
表 - 员工、部门
没有外键,但员工确实有 department_id 列并且该列 IS 已编入索引
在 employee.department_id 列上添加外键约束是否有性能优势?当两个表都有数百万条记录时,连接(对于选择)会更快吗?或者如果我索引 employee.department_id,它们会大致相同吗?
外键约束用于完整性,以确保一列的值是另一列的子集。如果您的列以任何一种方式建立索引,FK 约束将不会影响读取性能。但是,它们会影响 insert/update/delete 性能。
我已经阅读了许多相关帖子,但似乎没有关于该主题的明确答案。 数据库 - mysql 表 - 员工、部门 没有外键,但员工确实有 department_id 列并且该列 IS 已编入索引 在 employee.department_id 列上添加外键约束是否有性能优势?当两个表都有数百万条记录时,连接(对于选择)会更快吗?或者如果我索引 employee.department_id,它们会大致相同吗?
外键约束用于完整性,以确保一列的值是另一列的子集。如果您的列以任何一种方式建立索引,FK 约束将不会影响读取性能。但是,它们会影响 insert/update/delete 性能。