Перейти к содержанию
siniy

что это за запрос к базе, за что он отвечает?

Рекомендуемые сообщения

сейчас ищу новый хостинг чтобы сайт стал работать быстрей, рассматриваю продвинутый шаред или vps и в связи с этим беру на тест везде где есть тестовый период... пока результаты не очень...

 

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

 

кто может сказать что это за запрос за что он отвечает и может сразу кто-то сможет его модернизировать?

 

оптимизировали параметры сервера,проверьте сейчас скорость загрузки сайта
также обнаружен запрос,выполняющийся более 1 секунды,скорость загрузки связана с его долгим выполнением

SELECT p.product_id, (SELECT AVG(rating) AS total FROM review r1 WHERE r1.product_id = p.product_id AND r1.status = '1' GROUP BY r1.product_id) AS rating FROM product p LEFT JOIN product_description pd ON (p.product_id = pd.product_id) LEFT JOIN product_to_store p2s ON (p.product_id = p2s.product_id) WHERE pd.language_id = '1' AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '0' GROUP BY p.product_id ORDER BY p.date_added DESC LIMIT 0,4;

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Обычный вывод товара и его рейтинга. Ничего сверхъестественного.

Если у вас тормозит магазин, то обратить внимание нужно на количество категорий на сайте и включен ли в админке подсчёт товаров в настройках (нужно выключить)

Так же можете поискать по форуму по запросам "тормозит" или "нагрузка mysql"

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

подсчет выключен

категорий - около 200

товара - 85 000

 

"Так же можете поискать по форуму по запросам "тормозит" или "нагрузка mysql""  - со многим ознакомлен и бОльшинство рекомендаций выполнены.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

response.php в system смотрели? Загрузите туда его с дистрибутива сборки.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

response.php в system смотрели? Загрузите туда его с дистрибутива сборки.

в респонс никаких base64 - нет!

 

вопрос о запросе, что конкретно он делает, т.е. что он вызывает на главной странице, чтобы отключить модуль с главной и посмотреть будет ли быстрей?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ну так найдите файл с этим запросом!  и узнаете что за модуль! 

Выше сказали, что он выводит.

 

Я подозреваю, что это модуль поиска с выпадающим списком продуктов с фото, рейтингом, ценами и т д. типа search ajax

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

вопрос о запросе, что конкретно он делает, т.е. что он вызывает на главной странице, чтобы отключить модуль с главной и посмотреть будет ли быстрей?

это `getProducts` из `catalog/model/ctalog/products.php`.

На базе из 3k товаров вроде и получилось его в 2 раза ускорить, но от полного прохода по всем строкам избавиться не удаётся. Было 0.173-0.191 сек, стало 0.088.

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

что он вызывает на главной странице, чтобы отключить модуль с главной и посмотреть будет ли быстрей?

Есть 2 ориентира: искомый модуль выводит всего 4 товара и идёт сортировка по дате добавления товара. Больше всего похоже на модуль последних поступлений.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Оптимизируешь))) Есть наработки.

Секретные? :)

Я понимаю, что можно ещё NOW() оптимизировать и проверить индексы - вряд ли они там все нужные есть.

А конкретно по этому запросу интересно, как и насколько ещё его можно ускорить.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Конечно секретные :) Обфусцированные я бы сказал.
В личке пример 2.5к товаров в категории 700к товаров в магазине.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

это `getProducts` из `catalog/model/ctalog/products.php`.

На базе из 3k товаров вроде и получилось его в 2 раза ускорить, но от полного прохода по всем строкам избавиться не удаётся. Было 0.173-0.191 сек, стало 0.088.

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

Есть 2 ориентира: искомый модуль выводит всего 4 товара и идёт сортировка по дате добавления товара. Больше всего похоже на модуль последних поступлений.

 

Спасибо за ответ и наводку про 4 товара.

 

на главной у меня 4 товара выводит 3 модуля:

1. Акции

2. Просмотренные

3. Последние поступления

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо за ответ и наводку про 4 товара.

 

на главной у меня 4 товара выводит 3 модуля:

1. Акции

2. Просмотренные

3. Последние поступления

 

поотключал по очереди каждый из этих 3х модулей, при отключении Акции, Просмотренные - ничего не изменилось, а вот при отключении Последние поступления, сразу время загрузки уменьшилось на 1 секунду!!!!    Да уж, вывод 4-х товаров и время занимает половину от загрузки всей страницы.... отключил этот модуль, теперь имею время загрузки меньше 1 секунды!

 

Большое спасибо rb2 !!!!

 

Если еще кто-то поделится видом этого запроса в модернизированной форме, чтобы все таки оставить этот модуль на страницу, но чтобы его вывод занимал не 1 секунду, десяте доли секунды, буду так же признателен! и сразу с инструкцией где что поменять :)

 

Заранее спасибо!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

так вот решение.

нужно уйти от group by и ключ на date_added

 

или вы хотите "сделайте всё за меня" ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

так вот решение.

 

или вы хотите "сделайте всё за меня" ?

 

Сделайте за меня - хороший вариант, но у вас на этот вариант дорогие цены. поэтому воспользоваться вашей услугой вряд ли смогу.

 

Но если вы написали бы какую строку и где и на что поменять, то я смог бы это сделать сам.

 

Если в данном случае не все так просто.... тогда оставим до лучших времен, и обойдемся без данного модуля.

 

P.S. кстати обращался к вам за помощью с вашим бесплатным модулем скидка в контакте, но ни помощи ни ответа так и не получил... писал в личку вам и в теме модуля так же...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.