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

Оптимизировать запрос SQL - или добавление Индекса


sashaustenko

Recommended Posts

Здравствуйте.
Помогите с проблемным запросом.

FROM `" . DB_PREFIX . "order` o
					LEFT JOIN " . DB_PREFIX . "order_product op ON (o.order_id = op.order_id)
					LEFT JOIN " . DB_PREFIX . "product p ON (op.product_id = p.product_id)
					LEFT JOIN " . DB_PREFIX . "product_description pd ON (p.product_id = pd.product_id)
					LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id)
					WHERE o.order_status_id IN ("1")
					AND p.status = 1 AND pd.language_id = '"1"'
					AND p2s.store_id = '"0"'
					ORDER BY o.order_id DESC
					LIMIT 0,15

Выполнение запроса 0,5-0,6 сек, при удалении значения ORDER BY o.order_id DESC, генерация мгновенно, но соответственно не ищет по номеру заказа информацию, все остальные быстро срабатывает. У меня не стоит Индекс на order_id. 

Вопрос во в чём. Если добавить Индекс на order_id, ускорит ли это запрос, и будет ли функционировать нормально после этого сайт-админка-заказы... не будут ли баги вылазить?

На что может повлиять Индекс на это значение?

 

Спасибо.

 

 

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


по индексу к сожалению не уверен, но если у вас не мультимагазин, можно смело выбросить джоин к product_to_store 

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

1 час назад, sashaustenko сказал:

Здравствуйте.
Помогите с проблемным запросом.


FROM `" . DB_PREFIX . "order` o
					LEFT JOIN " . DB_PREFIX . "order_product op ON (o.order_id = op.order_id)
					LEFT JOIN " . DB_PREFIX . "product p ON (op.product_id = p.product_id)
					LEFT JOIN " . DB_PREFIX . "product_description pd ON (p.product_id = pd.product_id)
					LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id)
					WHERE o.order_status_id IN ("1")
					AND p.status = 1 AND pd.language_id = '"1"'
					AND p2s.store_id = '"0"'
					ORDER BY o.order_id DESC
					LIMIT 0,15

Выполнение запроса 0,5-0,6 сек, при удалении значения ORDER BY o.order_id DESC, генерация мгновенно, но соответственно не ищет по номеру заказа информацию, все остальные быстро срабатывает. У меня не стоит Индекс на order_id. 

Вопрос во в чём. Если добавить Индекс на order_id, ускорит ли это запрос, и будет ли функционировать нормально после этого сайт-админка-заказы... не будут ли баги вылазить?

На что может повлиять Индекс на это значение?

 

Спасибо.

 

 

И оптимизировать запрос и добавить индексы. Не факт что один. И не факт что простой.

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


10 часов назад, sashaustenko сказал:

Если добавить Индекс на order_id, ускорит ли это запрос

нет

8 часов назад, Yoda сказал:

и будет ли функционировать нормально после этого сайт-админка-заказы

да

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


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

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

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

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

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

Вхід

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

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

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

Important Information

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