Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Падает база - подсобите советом


Recommended Posts

Доброго времени..

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

 

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

 

# Query_time: 74.790640 Lock_time: 0.000149 Rows_sent: 10 Rows_examined:
72863490
SELECT p.product_id, (SELECT AVG(rating) AS total FROM oym_review r1 WHERE
r1.product_id = p.product_id AND r1.status = '1' GROUP BY r1.product_id) AS
rati
ng, (SELECT price FROM oym_product_special ps WHERE ps.product_id =
p.product_id AND ps.customer_group_id = '1' AND ((ps.date_start = '0000-00-00'
OR ps.da
te_start < NOW()) AND (ps.date_end = '0000-00-00' OR ps.date_end > NOW()))
ORDER BY ps.priority ASC, ps.price ASC LIMIT 1) AS special, (SELECT COUNT(*)
AS
total FROM oym_order_product op LEFT JOIN `oym_order` o ON (op.order_id =
o.order_id) WHERE o.order_status_id > '0' AND op.product_id = p.product_id
GROUP
BY op.product_id) as topsellers FROM oym_product p LEFT JOIN
oym_product_description pd ON (p.product_id = pd.product_id) LEFT JOIN
oym_product_to_store p2
s 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 10;

# Query_time: 145.558326 Lock_time: 66.791127 Rows_sent: 10 Rows_examined:
72863490
SELECT p.product_id, (SELECT AVG(rating) AS total FROM oym_review r1 WHERE
r1.product_id = p.product_id AND r1.status = '1' GROUP BY r1.product_id) AS
rati
ng, (SELECT price FROM oym_product_special ps WHERE ps.product_id =
p.product_id AND ps.customer_group_id = '1' AND ((ps.date_start = '0000-00-00'
OR ps.da
te_start < NOW()) AND (ps.date_end = '0000-00-00' OR ps.date_end > NOW()))
ORDER BY ps.priority ASC, ps.price ASC LIMIT 1) AS special, (SELECT COUNT(*)
AS
total FROM oym_order_product op LEFT JOIN `oym_order` o ON (op.order_id =
o.order_id) WHERE o.order_status_id > '0' AND op.product_id = p.product_id
GROUP
BY op.product_id) as topsellers FROM oym_product p LEFT JOIN
oym_product_description pd ON (p.product_id = pd.product_id) LEFT JOIN
oym_product_to_store p2
s 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 10;

# Query_time: 72.412323 Lock_time: 6.867669 Rows_sent: 10 Rows_examined:
72863490
SELECT p.product_id, (SELECT AVG(rating) AS total FROM oym_review r1 WHERE
r1.product_id = p.product_id AND r1.status = '1' GROUP BY r1.product_id) AS
rati
ng, (SELECT price FROM oym_product_special ps WHERE ps.product_id =
p.product_id AND ps.customer_group_id = '1' AND ((ps.date_start = '0000-00-00'
OR ps.da
te_start < NOW()) AND (ps.date_end = '0000-00-00' OR ps.date_end > NOW()))
ORDER BY ps.priority ASC, ps.price ASC LIMIT 1) AS special, (SELECT COUNT(*)
AS
total FROM oym_order_product op LEFT JOIN `oym_order` o ON (op.order_id =
o.order_id) WHERE o.order_status_id > '0' AND op.product_id = p.product_id
GROUP
BY op.product_id) as topsellers FROM oym_product p LEFT JOIN
oym_product_description pd ON (p.product_id = pd.product_id) LEFT JOIN
oym_product_to_store p2
s 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 10;

# Query_time: 128.729961 Lock_time: 63.209647 Rows_sent: 10 Rows_examined:
72844697
use shopauto_db;
SELECT p.product_id, (SELECT AVG(rating) AS total FROM oym_review r1 WHERE
r1.product_id = p.product_id AND r1.status = '1' GROUP BY r1.product_id) AS
rati
ng, (SELECT price FROM oym_product_special ps WHERE ps.product_id =
p.product_id AND ps.customer_group_id = '1' AND ((ps.date_start = '0000-00-00'
OR ps.da
te_start < NOW()) AND (ps.date_end = '0000-00-00' OR ps.date_end > NOW()))
ORDER BY ps.priority ASC, ps.price ASC LIMIT 1) AS special, (SELECT COUNT(*)
AS
total FROM oym_order_product op LEFT JOIN `oym_order` o ON (op.order_id =
o.order_id) WHERE o.order_status_id > '0' AND op.product_id = p.product_id
GROUP
BY op.product_id) as topsellers FROM oym_product p LEFT JOIN
oym_product_description pd ON (p.product_id = pd.product_id) LEFT JOIN
oym_product_to_store p2
s 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.viewed DESC LIMIT 10;

Надіслати
Поділитися на інших сайтах


(SELECT COUNT(*)
AS
total FROM oym_order_product op LEFT JOIN `oym_order` o ON (op.order_id =
o.order_id) WHERE o.order_status_id > '0' AND op.product_id = p.product_id
GROUP
BY op.product_id) as topsellers

Э.. а зачем вам количество продаж?

  • +1 1
Надіслати
Поділитися на інших сайтах

(SELECT COUNT(*)
AS
total FROM oym_order_product op LEFT JOIN `oym_order` o ON (op.order_id =
o.order_id) WHERE o.order_status_id > '0' AND op.product_id = p.product_id
GROUP
BY op.product_id) as topsellers

Э.. а зачем вам количество продаж?

 

мне не не надо ))) возможно это как то связано с выводом рекомендуемых товаров

Надіслати
Поділитися на інших сайтах


Что с памятью и числом процессов?

у меня падает из-за этого

Смотрите графики

вот что пишет провайдер по этим запросам...

 

Насколько я могу судить — эти запросы идентичны, или очень похожи (правда вних фигурирует NOW(), который всегда уникален). Они исполняются разное время(видимо в зависимости от общей загруженности сервера), однако как правило —70-150 секунд. Часто они также приходят "пачками", что не способствует быстройобработке, так как именно в таких случаях появляются результаты 150 секунд иболее. Также привлекает внимание количество обработанных строк — 72 миллиона.
Надіслати
Поділитися на інших сайтах


  • 2 weeks later...

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.