Можно ли называть индекс MySQL таким же, как столбец, который он индексирует? - PullRequest
22 голосов
/ 27 июня 2011

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

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

Ответы [ 3 ]

13 голосов
/ 27 июня 2011

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

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

6 голосов
/ 27 июня 2011

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

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

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

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

1 голос
/ 27 июня 2011

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

...