При добавлении FULLTEXT INDEX в 3 столбца добавляет ли один индекс по 3 столбцам или добавляет 3 отдельных индекса?
Я спрашиваю об этом, потому что на данный момент я использую FULLTEXT следующим образом:
ALTER TABLE myTable ADD FULLTEXT all3colsIndex (col1,col2,col3);
SELECT * FROM myTable WHERE MATCH (col1, col2, col3) AGAINST ('word');
Я только что добавил пользовательский параметр в свой интерфейс поиска, где пользователь может удалить один из столбцов из поиска. Так что я могу сделать это, не теряя индекс, где я использую только 2 из 3 столбцов:
ALTER TABLE myTable ADD FULLTEXT all3colsIndex (col1,col2,col3);
If (UserOptionRemoveCol == "selected") {
SELECT * FROM myTable WHERE MATCH (col1, col2) AGAINST ('word');
} else {
SELECT * FROM myTable WHERE MATCH (col1, col2, col3) AGAINST ('word');
}
Или мне нужно создать новый индекс FULLTEXT для двух столбцов, а также три?
ALTER TABLE myTable ADD FULLTEXT all3colsIndex (col1,col2,col3);
ALTER TABLE myTable ADD FULLTEXT 2colsIndex (col1,col2);