Каково значение имени индекса при создании индекса в MySQL? - PullRequest
19 голосов
/ 05 января 2011

Я сделал что-то подобное, чтобы использовать on duplicate key update:

CREATE UNIQUE INDEX blah on mytable(my_col_to_make_an_index);

, и он работал просто отлично.Я просто не уверен, какова цель имени индекса - в данном случае «бла».В материале, который я прочитал, сказано использовать один, но я не могу понять, почему.Кажется, он не используется в запросах, хотя я могу увидеть его, если экспортирую схему.

Итак ... какой цели служит имя индекса?Если это поможет, строка в CREATE TABLE будет выглядеть так:

UNIQUE KEY `clothID` (`clothID`)

Ответы [ 3 ]

17 голосов
/ 05 января 2011

Имя индекса используется для ссылки на индекс для будущих команд.Как падение индекса.

http://dev.mysql.com/doc/refman/5.0/en/drop-index.html

Просто подумайте об именах индексов, как имена таблиц.Вы также можете легко составить таблицу под названием «бла».

CREATE TABLE blah (f1 int);

Но «бла» не очень полезна для использования в будущем.Просто будь последовательным.что-то вроде

CREATE UNIQUE INDEX field_uniq on mytable(field);

или

CREATE INDEX field1_field2_inx on mytable(field1, field2);
10 голосов
/ 05 января 2011

Именование должно разрешить глобальное пространство имен и помочь лучше понять схему таблицы.

Имя индекса очень полезно для форсирования подсказки индекса .Попробуйте не использовать одно и то же имя как для индекса, так и для столбца (неоднозначно), и регистр верблюдов не имеет смысла для системы, такой как Windows (которая не допускает регистр).*

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

1 голос
/ 05 января 2011

Вы правы.Имя индекса используется только в качестве идентификатора, поэтому вы можете ссылаться на него, если вам нужно отредактировать, удалить или запросить его позже.Он не используется для каких-либо других целей.

Вы можете назвать индекс так, как вам удобнее, но некоторая последовательность, вероятно, вам поможет (назовите ваш индекс «бла» совершенно правильно, но вы выигралиПонятия не имею, где он находится, что он делает или почему вы его создали).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...