为什么索引会自动创建到外键字段?

时间:2011-07-28 10:06:37

标签: mysql phpmyadmin

我为表中的一个字段创建了外键,索引自动创建到该字段。为什么索引是自动创建到外键字段的?

2 个答案:

答案 0 :(得分:1)

在外键上创建索引以提高性能。如果您想要获取相关项目的外键很常见,则索引允许您快速获取这些项目。此外,对外键(删除,更新)施加的条件利用索引快速工作。最后,您需要在创建外键时执行完整性检查,这需要执行搜索,这些搜索会利用索引。

答案 1 :(得分:0)

外键字段链接到其他表中字段的内容。

如果我们创建一个这样的表:

Table Patient
  id 
  name
  address

表格疾病

Table Illness
  id
  patient_id foreign key to patient.id
  description

MySQL检查表patient的外部链接是否与Illness中的ID匹配。如果删除了patient,它也会进行检测,它会检查以确保illness中没有引用它。 为了有效地做到这一点,它需要索引这些字段,否则它将花费太多时间进行全表查找。

此外,单词keyindex的同义词,所以索引键是有意义的: - )。