Search by WMSN

FTS3 в SQLite3 какашка, от нее хроническая нагрузка на диск изза постоянной «оптимизации» поиска, т.к. база постоянно изменяется, даже когда в базу давно ничего не пишется. #fts3 #sqlite3

Answers:

MariaDB наше все!

Сегодня в фейковых микроблогах (размер базы 200-500 мб) заменил поиск через LIKE на поиск в FTS3 таблице, скорость поиска улучшилась с 0.2 сек до 0.001 сек, зато диск стал вешаться, а вслед за ним и все остальное стало тормозить.

webmasterк, MariaDB это MySQL, она бы вообще сервер убивала моментом )))

А как ты организовал FTS3? Простой text_index + key По которому осуществляется поиск в таблице с контентом?

Ded, отдельная таблица формата: «номер постаконтент», поиск через MATCH, потом вывод страниц из основной базы.

Mik Foxi, а почему ты не использовал fts4 ?

Роман Питерский, а он что не изменяет разве постоянно базу также как и 3 версия?

Mik Foxi, пока не затестишь не узнаешь. А у тебя серв на ссд? У меня обычный хард и IO delay ушёл в 60% на дорах с файловым кэшем. Вообще поисковый индекс, как бы ты не хотел, но рекомендую делать в сфинксе и загружать всё в оперативку. Хард будет задействован только при обращении в основную базу с товарами, хотя её тоже можно загрузить в оперативку.

Ded, поисковик товарный у меня сейчас на текстовых файлах, мне это норм по нагрузке. От fts3 я везде отказался.

Mik Foxi, постоянных нагрузок не заметил, пару раз в сутки бывает

Роман Питерский, на крутых выделенных SSD серверах я тоже не замечал. А когда нужно запихнуть скрипт в сверхмаленький и уже и так нагруженный VDS - замечаешь места, которые не мешало бы оптимизировать.

Mik Foxi, экспериментирую со специальными командами для FTS4, мож что-то и улучшится в этом плане

Хз ребзя, ганяю базу в 90ГБ на SSD серваке, MariaDB ( TokuDB фрактальные индексы ), причем база активно лопатиться и растет, к примеру постоянно идет поиск частичных дубликатов записи, гео поиск, каждые 5 часов полный реиндекс сфинксом. Просто нужно понимать, вам нужно хранилище или база данных ;)

Mik Foxi, сделал вчера оптимизацию 10 Гб базы через optimize. По времени заняло 15 мин. Размер базы увеличился на 25%, но зато повышенных нагрузок после этого ни разу не было. Тестировал сайт в 50 потоков всю ночь, пока полет нормальный)