Есть таблица id name тип varchar(255) text тип text количество строк в таблице более 100.000 Вопрос - будет ли оптимально использовать полнотекстовую индексацию(FULLTEXT) для поля text, а для поля name - просто INDEX ?
хм... представил на секунду, как строки будут искаться на глазах изумлённой публики под ободряющие возгласы пользователей... если искомые слова находятся не в начале строки (т.е. если используется конструкция like '%слово%'), то обычный индекс вообще не спасёт. используйте fulltext для обоих полей
мне интересно, как работает полнотекстовая индексация на очень большой таблице, сколько времени затрачивается на поиск
быстрее чем перебором. Если у вас нет ограничения на память. если большие объемы - то я бы кешировал (добавлял) уже найденные слова в кросс-таблицу. или их хеш.
большая, маленькая таблица - понятия размытые, поэтому уточню: для меня большая - это около полутора миллионов записей. У меня стоит задача осуществить поиск на сайте во всех документах. Есть два варианта решений - либо полнотекстовая индексация, либо создать собственную индексацию. Слышал, что индексация в mysql еще плохо работает.
при таких объемах любую оптимизацию все равно надо сравнивать ручками. и в любом случае я бы запретил полный поиск и заставил указывать раздел для поиска.