@dizain-master

Как ускорить загрузку категорий на сайте SELECT From?

Добрый день товарищи, подскажите как ускорить работу сайта. PHP+MySql
В базе есть таблица Catalog c полями Категория, Бренд, Имя1, Имя2, Страна производства, Цена старая, Цена новая, Остаток. В таблице около 80 000 записей.

При входе на страницу категории идет запрос к базе "Select from" с указанием категории и перечислением полей, которые отобразить: Бренд, Имя2, Страна производства, Цена старая, Цена новая, Остаток > 1

Если в категории размещено до 200 товаров. Сайт загружает ее в течении 10 сек. После средствами html и css делает пагинацию, что позволяет листать цифры внизу 1,2,3 и т.д.

Фильтр в категории прекрасно работает и может искать по всем товарам (по брендам и по цене от и до).

Но если товаров 1600 в категории то загрузка занимает до 40 сек, что уже перебор.
Подскажите, как усорить, или что переделать?

P.S. Как временное решение раз в сутки, ночью. Все первые страницы категорий кешируются. И при входе на них открываются моментально, но при обращении к странице №2 и т.д. или при использовании фильтра, опять приходится ждать
Смена хостинга не решает проблему. Так как загрузка категорий на сайте медленно работает даже локально.
  • Вопрос задан
  • 206 просмотров
Решения вопроса 1
094ikis09
@094ikis09
Medium Rare
Сделайте в селекте лимит на получение нужного количества товаров для одной страницы
Так же отдельно получите сколько всего товаров в категории и на этой основе стройте пагинацию
При переходе по страницам пагинации делайте запрос на получение товаров с лимитом и нужным офсетом
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Jeer
@Jeer
уверенный пользователь
Для начала настроить правильные индексы
Во-вторых, переходить на "настоящую" пагинацию, как Валерий написал, с лимит/оффсет
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы