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

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

Добрый лень уважаемы знатаки помогите разобратся.

Оптимизировал все что мог.

Сайт иногда просто зависает на длительное время 10-20 секунд. Смотрю медленые запросы к базе данных там такое:

 

SELECT p.product_id, (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, (SELECT price FROMoc_product_discount pd2 WHERE pd2.product_id = p.product_id AND pd2.customer_group_id = '1' ANDpd2.quantity = '1' AND ((pd2.date_start = '0000-00-00' OR pd2.date_start < NOW()) AND (pd2.date_end ='0000-00-00' OR pd2.date_end > NOW())) ORDER BY pd2.priority ASC, pd2.price ASC LIMIT 1) ASdiscount, (SELECT price FROM oc_product_special ps WHERE ps.product_id = p.product_id ANDps.customer_group_id = '1' AND ((ps.date_start = '0000-00-00' OR ps.date_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 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) LEFT JOIN oc_product_master pmON pm.product_id = p.product_id WHERE (pm.master_product_id = -1 OR pm.master_product_id > 0 ORpm.master_product_id IS NULL) AND pd.language_id = '3' AND p.STATUS = '1' AND p.date_available <=NOW() AND p2s.store_id = '0' GROUP BY p.product_id ORDER BY p.date_added DESCLCASE(pd.name)DESC LIMIT 0,4

 

Что это заз запрос и как его оптимизировать?

 

еще есть такие данные 

 

Тип выборкиВозможные ключиКлючСсылкаСтрокиДополнительная информацияPRIMARY :p

range

PRIMARY,wg_statusAndDatewg_statusAndDate (4)1417Using where; Using temporary; Using filesortPRIMARY :pm

index

PRIMARY (12)1168Using where; Using indexPRIMARY :p2s

eq_ref

PRIMARY,wg_store_id,store_idPRIMARY (8)ovblviv_gofin.p.product_id,const1Using where; Using indexPRIMARY :pd

eq_ref

PRIMARY,wg_language_id,language_idPRIMARY (8)ovblviv_gofin.p2s.product_id,const1Using whereDEPENDENT SUBQUERY : ps

ref

product_idproduct_id (4)func1Using where; Using filesortDEPENDENT SUBQUERY :

 

Impossible WHERE noticed after reading const tablesDEPENDENT SUBQUERY : r1

ref

product_idproduct_id (4)func1Using where

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


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

oc_product_master - это не стандартная таблица, попробуйте отключить модуль, который ее использует и посмотрите изменилась ли скорость. 

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


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

Это таблица, из продукты сериями.

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


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

1. Ну запросы с  NOW(не кешируются

2. На сколько большая база и что за конфиг сервака? :)

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


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

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


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

спасибо ребята за подсказки это действительно был продукт сериес с ним разобрались, а теперь есть такой SHOW COLUMNS FROM oc_product_description LIKE 'tag'

спасибо огроменое за помощь и отзывчевость форумчан

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


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

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

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

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

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

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

Войти

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

Войти

  • Похожий контент

    • От Granled
      Здравствуйте составил вот такой запрос к базе данных (необходимо иметь возможность быстро редактировать сумму заказа из формы заказа):
      $tsum = $this->db->query("SELECT total FROM oc_order WHERE order_id=414");
      Как подставить в него id мне более менее понятно, сама база с запроса возвращает правильные данные.
      Вопрос - правильно ли я сделал запрос, так как шаблон переменную не возвращает. Пишет Undefined variable , как ее сделать правильно?
      И вообще можно ли лезть в базу данных с контроллера, или только в модели?
    • От poetiq
      Всем привет!
       
      Подскажите пожалуйста, как можно вернуть предпоследние статусы заказа во всех заказах начиная с определенной даты?
       
      Может есть какой то sql запрос или может какой то скрипт ... я был бы очень благодарен.
       
       
      Программист немного не усмотрел при интеграции с моим складом и все заказы сменили статус на тот что стоял в настройках  а обратно вернуть не знает как.
       
      Заметили не сразу и восстанавливать старую копию базы поздно т.к. уже новые заказы есть.
    • От Fleur
      Помогите написать запрос пожалуйста.
       
      Мне нужно ко всем товарам определенной категории добавить атрибут и задать ему определенное значение.
       
      Буду очень благодарна тем, кто поможет)
       
       
    • От gruz
      Доброго времени суток!
       
       
      есть куча информации по товарам, типа:
      фото, цена, описание, артикул -- все это хранится в файле (файлах) на сервере допустим.
       
      вопрос: можно ли это, точнее как это все добавить в магазин посредством SQL запросов?
       
      допустим, Категории и Производители уже будут созданы, нужно только добавить новый Товар с некоторыми атрибутами.
       
      хотя бы найти запрос, который формируется при нажатии кнопки Сохранить в Товарах.
       
      думаю, это важный вопрос, понятно зачем.
       
      и второе:
      как корректно загружать фото товара в том же запросе?
       
      ----------------------------------------------------------------------------------------------------------------------------------------
      Заранее спасибо!
       
      p.s.: Прошу прощения, видимо нужно было запостить в роздел Программирование, если что перенесите пожалуйста.
    • От Keyser
      Привет.
      Не могу составить запрос в бд магазина.
      Последняя ревизия с допилами и кучей модулей.
      Смысл в том, что бы в описании товаров заменить некоторые слова на синонимы, да-да, типа рерайта.
       
      Как вот сделать запрос апдейта таблицы "product_description" столбца "description" с заменой любого слова, например с хороший на отличный???
  • Последние посетители   0 пользователей онлайн

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

×

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

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