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

SELECT p.product_id, IF (p.price = '0'

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

Здравствуйте, данный запрос отправлят базу отдыхать на час когда в магазин 80 + к товаров, что можно с этим сделать, как и кого придушить?

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


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

показывайте полный запрос и код, который его формирует.

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


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

это все тело его

SELECT p.product_id, IF (p.price = '0', (SELECT MIN(ppr.price) FROM oc_product as ppr, oc_product_product_option_value as ppov WHERE ppov.product_option_id = ppr.product_id AND ppov.product_id = p.product_id), p.price) as new_price, (SELECT COUNT(ppov2.product_option_id) FROM oc_product_product_option_value as ppov2 WHERE p.product_id = ppov2.product_option_id) as child, (SELECT AVG(rating) AS total FROM oc_review r1 WHERE r1.product_id = p.product_id AND r1.status = '1' GROUP BY r1.product_id) AS rating FROM oc_product p LEFT JOIN oc_product_description pd ON (p.product_id = pd.product_id) LEFT JOIN oc_product_to_store p2s ON (p.product_id = p2s.product_id) WHERE pd.language_id = '2' AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '0' GROUP BY p.product_id HAVING child = '0' ORDER BY p.date_added DESC LIMIT 0,6

а вот тот код который его формирует, с этим немного затрудняюсь, дело в том что он появляется когда в категорию переходишь, или когда на главную заходишь, где смотреть? oc_category.tpl? Если напрямую в товар все ок.

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


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

А откуда такой запрос взялся? Это в ядре 0_о

 

Ну, по делу, индекс для price первым делом создать, чтобы запрос 

SELECT MIN(ppr.price) FROM oc_product as ppr, oc_product_product_option_value as ppov WHERE ppov.product_option_id = ppr.product_id AND ppov.product_id = p.product_id

резвее работал. Потом надо что-то думать в направлении

SELECT COUNT(ppov2.product_option_id) FROM oc_product_product_option_value as ppov2 WHERE p.product_id = ppov2.product_option_id

Например, можно попробовать увеличить буфер MySQL сервера...

 

Вот это тоже печально (если отзывов много) и непонятно насколько полезна информация:

SELECT AVG(rating) AS total FROM oc_review r1 WHERE r1.product_id = p.product_id AND r1.status = '1' GROUP BY r1.product_id

MySQL в подзапросах лимиты не поддерживает, кажется... Да? Тогда все плохо.

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


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

в ядре такого точно нет

 

 

SELECT p.product_id, IF (p.price = '0', (SELECT MIN(ppr.price) FROM oc_product as ppr, oc_product_product_option_value as ppov WHERE ppov.product_option_id = ppr.product_id AND ppov.product_id = p.product_id), p.price) as new_price, (SELECT COUNT(ppov2.product_option_id) FROM oc_product_product_option_value as ppov2 WHERE p.product_id = ppov2.product_option_id) as child, (SELECT AVG(rating) AS total FROM oc_review r1 WHERE r1.product_id = p.product_id AND r1.status = '1' GROUP BY r1.product_id) AS rating FROM oc_product p LEFT JOIN oc_product_description pd ON (p.product_id = pd.product_id) LEFT JOIN oc_product_to_store p2s ON (p.product_id = p2s.product_id) WHERE pd.language_id = '2' AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '0' GROUP BY p.product_id HAVING child = '0' ORDER BY p.date_added DESC LIMIT 0,6

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


Ссылка на сообщение
Поделиться на другие сайты
Например, можно попробовать увеличить буфер MySQL сервера...

Это как себе в живот запихнуть полтонны апельсинов. То есть, рано или поздно начнет болеть или хуже ...

в данном случае хуже будет)

Что за гавно-сборку скачали на этот раз?

Качайте ocstore и проблемы исчезнут

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


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

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

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


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

Это модуль подтоваров. 80000 к товаров и все сыпится к матери. когда модуль выключаешь работает более или менее. 

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


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

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

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

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

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

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

Войти

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

Войти

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

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

×

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

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