В случае, если вы покажете, это просто индекс с именем fk_some_name
.
Многие сайты не любят использовать истинные ограничения внешнего ключа, но им все равно может понадобиться индекс для столбца, чтобы помочь оптимизировать объединения для этого столбца. Может быть соглашение об именовании, что индексы, предназначенные для объединений, имеют префикс fk_
.
Также в MySQL, если вы определите ограничение внешнего ключа для столбца, у которого уже есть индекс, он будет использовать этот индекс вместо создания нового индекса, который будет избыточным.
KEY
и INDEX
являются синонимами в MySQL в некоторых контекстах.
Вы можете сделать это:
CREATE TABLE ... ( ... {INDEX|KEY} name (some_column_name) )
Вы можете сделать это:
ALTER TABLE ... ADD {INDEX|KEY} name (some_column_name)
Вы не можете использовать их взаимозаменяемо в некоторых других случаях:
Используйте только КЛЮЧ, а не ИНДЕКС:
CREATE TABLE ... ( ... FOREIGN KEY name (col) REFERENCES ... )
Используйте только ИНДЕКС, а не КЛЮЧ:
CREATE INDEX name ON tablename (column_name)
В случае сомнений прочитайте справочную документацию.