MySQL Workbench автоматически создает индексы для внешних ключей?

#mysql #mysql-workbench

#mysql #mysql-workbench

Вопрос:

Когда я создаю внешний ключ в MySQL workbench, на вкладке «Индексы» появляется новая запись с точно таким же внешним ключом, который я только что создал.

Действительно ли это внешний ключ, который по какой-то причине отображается на вкладке «Индексы»? Или MySQL Workbench пытается быть полезным и создает индекс для меня, зная, что я, вероятно, буду выбирать по этому столбцу, и присваивать ему (сбивающее с толку) то же имя, что и внешний ключ?

Ответ №1:

Это делает MySQL, а не workbench.
И да, полезно создавать индекс при создании ограничения внешнего ключа.

Ответ №2:

Для внешних ключей в innodb требуется индекс или префикс индекса с теми же полями, что и ограничение, в том же порядке. Похоже, MySQL Workbench автоматически создает их, поскольку они отображаются в SQL-скрипте, экспортированном из MySQL Workbench. Это полезно, но проблема в том, что он не распознает префикс из других индексов, поэтому он всегда создает индекс, даже когда это не нужно.