Подтвердить что ты не робот

Можно ли назвать индекс MySQL таким же, как индекс, который он индексирует?

Является ли он плохим, чтобы дать индексу то же имя, что и столбец, на котором он основан?

Как если бы у вас был столбец с именем "foo", и вы хотите создать на нем нормальный индекс, можно ли назвать индекс "foo"? MySQL не жалуется, но мне интересно, что за плюсы и минусы.

4b9b3361

Ответ 1

Соглашение не имеет значения, поскольку вы его последовательно используете.

Тем не менее, я префикс имен индексов с "ind_"; Ограничения получают префикс "cns_". В любом случае имя столбца (s, если составное/покрытие).

Ответ 2

Как правило, имена индексов должны начинаться с имени таблицы, на которую они зависят, например: -

Пусть имя таблицы будет "USERS", и имена полей будут, например, "id" и "username". Тогда имя индекса может быть "IDX_USERS_ID_USERNAME".

Однако не беспокойтесь о конвенции, если они понятны всем, кто будет обращаться к базе данных через несколько месяцев, без вашей помощи.

Надеюсь, что это поможет.

Ответ 3

Индексы не являются столбцами, а имена индексов предназначены только для чтения. Вы можете назвать их, как хотите. Если индекс находится в одном столбце, то имеет смысл присвоить ему то же имя, что и столбец.