Уникальная, индексная и полнотекстовая индексация MySQL. Все вместе или достаточно одного?

Я хотел, чтобы один конкретный столбец был уникальным, а также оптимизированным для поиска и сортировки. При этом тот же столбец должен иметь возможность полнотекстового поиска. Должен ли я добавлять все три типа индексации (уникальный, индексный и полнотекстовый) вместе в этот столбец или нет?

Пожалуйста, помогите и спасибо.

--Редактировать

Спасибо @Fuujin за быстрый комментарий.

Что, если у меня есть следующая индексация, больше не нужно добавлять индексацию «Индекс» ни к одному из них, верно?

ALTER TABLE `mytable` ADD UNIQUE (`column_1`, `column_2`);

person SAVAFA    schedule 08.02.2016    source источник
comment
Здесь уже ответили: http://stackoverflow.com/questions/9393234/mysql-unique-field-need-to-be-index   -  person Fuujin    schedule 08.02.2016
comment
Спасибо. Итак, только индексация индекса избыточна, верно?   -  person SAVAFA    schedule 08.02.2016
comment
как я понимаю: да. Вот еще больше информации: см. здесь   -  person Fuujin    schedule 08.02.2016


Ответы (1)


Один столбец:

UNIQUE(x)
FULLTEXT(x)

Добавление INDEX было бы излишним, поскольку UNIQUE является INDEX.

Две колонки:

UNIQUE(x,y)  -- the order depend on what your queries look like (see below)
FULLTEXT(x,y)
FULLTEXT(x), FULLTEXT(y) -- may need these (see below)

WHERE x > 5 AND y = 2 нужен (y,x) порядок

Если вы ищете только один из двух столбцов, например MATCH(x) AGAINST(...), то InnoDB, но не MyISAM, нужны дополнительные индексы FULLTEXT.

person Rick James    schedule 09.02.2016
comment
Спасибо @rick. Итак, вы говорите, что если я на MyISAM, то только FULLTEXT(x,y) будет достаточно для любого полнотекстового поиска? Также пункт заказа, который вы упомянули, был не совсем ясен для меня. - person SAVAFA; 10.02.2016
comment
В списке людей, отсортированных по (last_name, first_name), можно быстро найти last_name='James' AND first_name LIKE 'R%', но гораздо сложнее найти first_name = 'Rick' AND last_name LIKE 'J%'. - person Rick James; 11.02.2016
comment
Спасибо. Не могли бы вы также взглянуть на этот вопрос обо мне: stackoverflow.com/questions/35267528/ - person SAVAFA; 12.02.2016