谁能告诉我 MySQL 是否自动为其外键建立索引?
我的 MySQL 正在使用 MyIsam 引擎。
最佳答案
MyISAM 根本不支持外键。来自manual :
For storage engines other than InnoDB, MySQL Server parses the FOREIGN KEY syntax in CREATE TABLE statements, but does not use or store it. ... At a later stage, foreign key constraints will be implemented for MyISAM tables as well.
这是针对MySQL 5.6,下一个版本,所以还没有实现。文本与旧版本完全相同。
这意味着根本没有使用外键结构。您可以在 CREATE TABLE
命令中指定它,但 MySQL 会默默地忽略它。不会从中创建索引,也不会存储它(因此 SHOW CREATE TABLE
命令将不显示您试图创建外键)。
如果您需要外键支持,请考虑改用 InnoDB 存储引擎。 InnoDB自动为外键创建索引。
关于mysql - MySQL 是否对外键进行自动索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11245273/