Вариант 4
Сделать основные категории как у популярных досках т.к. там уже провели процедуру опроса/оптимизации
Далее если хочется ещё сильнее градацию делать, то следить за объявлениями каких больше и делать более детальную градацию.
т.е. я за то, чтобы не давать не нужных функций.
Со стороны пользователя т.е. человека, который ищет что-то мне более важна строчка поиска и фильтры. А искать в 100500 категориях нужную мне вообще лень.
А кто вам сказал, что он что-то зарабатывает пока?
https://st0.сайт.ru/media/catalog/product/cache/1/image/602f0fa2c1f0d1ba5e241f914e856ff9/.*?/.*?/(.*?)\?.*?,
Надо бы памяти добавить на компьютер т.к. он это делает когда памяти нет.
https://st0.сайт.ru/media/catalog/product/cache/1/image/602f0fa2c1f0d1ba5e241f914e856ff9/.*?/.*?/(.*?)\?.*
Ищем:
https://st0.сайт.ru/media/catalog/product/cache/1/image/602f0fa2c1f0d1ba5e241f914e856ff9/.*?/.*?/(.*?)\?
На
$1
Ну наверное что-то ваш знакомый не понимал, что перед ним.
В общем плане работы т.е. комплексной это не так. Долго объяснять. Mysql отказывается от myisam не просто так.
Если на сервере достаточно памяти, то да выставлять 5 ГБ
Всё самое вкусное уже разбирают ДО торгов, остаётся неликвид или УГ. Да ещё и пробиться надо на такие торги.
Это не имеет смысла. Уберите их.
Переведите всё в innodb, выставите innodb_buffer_pool_size в размер чуть больше ваших таблиц, если они будут пополнятся.
Далее обязательно:
innodb_flush_method=O_DIRECT
и учитывая, что у вас локальные данные, то:
innodb_flush_log_at_trx_commit=0
Кэш лимиты оптимальные, больше не нужно:
query_cache_limit=2M
query_cache_size=128M
query_cache_type=1
И ещё раз проверьте индексы, также индексы могут быть составными и должны быть, если выборка идёт по 2-м и более параметрам.
Это как лечение зубов. Если пациент жалуется, что зуб реагирует на холодное/горячее, то тут или зубную пасту надо менять или зуб сгнил и надо ставить имплантант вместо него. Поэтому надо рассматривать сначала зуб, а потом уже выбирать зубную пасту :)