Создание индекса MySQL на Varchar всегда дает 2 индекса?

У меня есть столбец email в моей таблице, который представляет собой VARCHAR (255) . Большинство писем будет состоять только из 40-50 символов, а остальные символы присутствуют только в редких случаях. Следовательно, Я хочу проиндексировать только первые 50 символов столбца электронной почты.

Я пытался сделать это с помощью этого запроса:

ALTER TABLE  `users` ADD INDEX (email(50) )

Однако это создает 2 индекса, один с именем email , а другой email_2 . У первого индекса нет ограничений по длине, у второго - 50 символов.

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

9
задан Click Upvote 24 May 2011 в 19:04
поделиться