如果我有一个具有主键和外键的表,并且经常使用包含两者的查询来完成搜索(...WHERE primary=n AND foreign=x)
,那么使用这两个键在 MySQL 中创建多个索引是否有任何性能优势?
我知道它们已经是两个索引,但是我不确定当包含在另一个表中时外键是否仍被视为索引。例如,MySQL会去主键,然后比较外键的所有值,直到找到正确的值,还是因为外键也是索引而已经知道它在哪里?
更新:我正在使用 InnoDB 表。
如果我有一个具有主键和外键的表,并且经常使用包含两者的查询来完成搜索(...WHERE primary=n AND foreign=x)
,那么使用这两个键在 MySQL 中创建多个索引是否有任何性能优势?
我知道它们已经是两个索引,但是我不确定当包含在另一个表中时外键是否仍被视为索引。例如,MySQL会去主键,然后比较外键的所有值,直到找到正确的值,还是因为外键也是索引而已经知道它在哪里?
更新:我正在使用 InnoDB 表。