Задавайте вопросы, мы ответим
Вы не зашли.
У меня есть скрипт поиска товаров, который выдает только 40 найденных товаров.
При скроллинге вниз страницы, к этим 40 добавляются еще 40 и так до 200. Каждый раз отрабатывает, сколько я понимаю, один и тот же запрос на все найденные товары, а потом отбирает по лимиту нужные.
Вопрос: как можно закешировать результат запроса с LIMIT 0,200 (или пускай даже все до 35000), а потом уже из кешированного результата выгребать LIMIT 0,40, LIMIT 40,40 и т.д.? Может кто-то знает решение?
Неактивен
И вообще, как узнать размер самого тяжелого размера, чтобы выставить query_cache_limit в максимум?
Неактивен
Кэш запросов кэширует запросы буквально, то есть если изменилась одна буква, то запрос уже другой. Можно сделать свой механизм кэширования с использованием временных таблиц, как, например, в конце статьи http://webew.ru/articles/1041.webew
Неактивен
Слишком много временных таблиц получится — для каждого поискового запроса.
Я так понял, для улучшения кеширования, надо добиться того, чтобы в таблицы, по которым происходит запрос ничего не писалось.
Неактивен
Если идет запись в таблицу, то кэш запросов и буфер индексов сбрасываются. Но кэш запросов работать не будет, если запросы разные - LIMIT 0,40 и LIMIT 20,20
Неактивен
Кажется, можно выбирать какое-то большое количество строк в запросе
(например, 60), а потом отсеивать данные со стороны клиента. Тогда Вы
будете эффективно использовать query cache. При небольшом количестве
столбцов может получиться неплохо. Ну а для особо глубоко копающих
товарищей (т.е. далее 3 страницы) уже делать отдельными запросами —
они глубоко копают, они и подождут.
Неактивен