Как ускорить загрузку категорий на сайте 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 и т.д. или при использовании фильтра, опять приходится ждать
Смена хостинга не решает проблему. Так как загрузка категорий на сайте медленно работает даже локально.
Вы что-то очень не так делаете. Обычная выборка 200 строк из здоровой базы данных - это вопрос нескольких миллисекунд. Даже сложная выборка 20 000 строк с объединениями и группировками должна укладываться в десяток миллисекунд.
Сделайте в селекте лимит на получение нужного количества товаров для одной страницы
Так же отдельно получите сколько всего товаров в категории и на этой основе стройте пагинацию
При переходе по страницам пагинации делайте запрос на получение товаров с лимитом и нужным офсетом