MySQL对外键进行自动索引吗?

MySQL对外键进行自动索引吗?,mysql,indexing,foreign-keys,myisam,isam,Mysql,Indexing,Foreign Keys,Myisam,Isam,谁能告诉我MySQL是否自动为其外键建立索引 My MySQL正在使用MyIsam引擎。MyIsam根本不支持外键。从: 对于InnoDB以外的存储引擎,MySQL服务器解析外部 CREATE TABLE语句中的键语法,但不使用或存储它。 ... 在稍后的阶段,将为以下对象实施外键约束: MyISAM表也是如此 这是针对下一个版本MySQL 5.6的,因此尚未实现。文本与旧版本完全相同 这意味着根本不使用外键构造。您可以在createtable命令中指定它,但MySQL会自动忽略它。不会用它建立

谁能告诉我MySQL是否自动为其外键建立索引


My MySQL正在使用MyIsam引擎。

MyIsam根本不支持外键。从:

对于InnoDB以外的存储引擎,MySQL服务器解析外部 CREATE TABLE语句中的键语法,但不使用或存储它。 ... 在稍后的阶段,将为以下对象实施外键约束: MyISAM表也是如此

这是针对下一个版本MySQL 5.6的,因此尚未实现。文本与旧版本完全相同

这意味着根本不使用外键构造。您可以在
createtable
命令中指定它,但MySQL会自动忽略它。不会用它建立索引,也不会存储它(因此
SHOW CREATE TABLE
命令不会显示您试图创建外键)


如果需要外键支持,请考虑使用NYNDB存储引擎来代替。自动为外键创建索引。

MyISAM根本不支持外键。从:

对于InnoDB以外的存储引擎,MySQL服务器解析外部 CREATE TABLE语句中的键语法,但不使用或存储它。 ... 在稍后的阶段,将为以下对象实施外键约束: MyISAM表也是如此

这是针对下一个版本MySQL 5.6的,因此尚未实现。文本与旧版本完全相同

这意味着根本不使用外键构造。您可以在
createtable
命令中指定它,但MySQL会自动忽略它。不会用它建立索引,也不会存储它(因此
SHOW CREATE TABLE
命令不会显示您试图创建外键)


如果需要外键支持,请考虑使用NYNDB存储引擎来代替。自动为外键创建索引。

MyISAM引擎不支持外键,只有InnoDB引擎:

InnoDB需要外键和引用键的索引,以便 外键检查可以很快,不需要扫描表。在 引用表时,必须有外键所在的索引 列按相同顺序列为第一列。这样的 如果没有索引,则会在引用表上自动创建索引 存在。如果您创建了索引,则稍后可能会自动删除该索引 可用于强制外键约束的另一个索引。 索引名称(如果给定)如前所述使用


MyISAM引擎不支持外键,仅支持InnoDB引擎:

InnoDB需要外键和引用键的索引,以便 外键检查可以很快,不需要扫描表。在 引用表时,必须有外键所在的索引 列按相同顺序列为第一列。这样的 如果没有索引,则会在引用表上自动创建索引 存在。如果您创建了索引,则稍后可能会自动删除该索引 可用于强制外键约束的另一个索引。 索引名称(如果给定)如前所述使用


MyISAM不支持外键约束。MyISAM不支持外键约束。因此,实际回答问题:如果需要索引,请在列上创建单独的索引。因此,实际回答问题:如果需要索引,请在列上创建单独的索引。