Jump to content
Sign in to follow this  
sharman35

Оптимизация SQL запросов к базе данных

Recommended Posts

Рад приветствовать все. В общем образовалась проблема в запросами к базе данных. Ниже пример

 

 

 

Примеры запросов к базе данных создающих повышенную нагрузку:

корень @ fe124 ~] # MySQL -e "показать полный PROCESSLIST" | Grep u10682
6654000    u10682 локальный u10682 Query 0 Отправка
данных SELECT COUNT (DISTINCT p.product_id) Как Всего с
oc_category_path ср LEFT JOIN oc_product_to_category p2c ON
(cp.category_id = p2c.category_id) LEFT JOIN oc_product р на
(p2c.product_id = p.product_id) на левое oc_product_description ЧР в
(p.product_id = pd.product_id) LEFT JOIN oc_product_to_store p2s НА
(p.product_id = P2S .product_id), где pd.language_id = '1' и p.status
= '1' и p.date_available <= ' 2015-03-13 22 : 33: 00 'И p2s.store_id =
'0', cp.path_id = "148"
6654020    u10682 локальный u10682 Запрос 1 Отправка
данных SELECT COUNT (DISTINCT p.product_id) Как Всего с
oc_category_path ср LEFT JOIN oc_product_to_category p2c ON
(cp.category_id = p2c.category_id) LEFT JOIN oc_product р на
(p2c.product_id = р. product_id) LEFT JOIN oc_product_description ЧР в
(p.product_id = pd.product_id) LEFT JOIN oc_product_to_store p2s ПО
(p.product_id = p2s.product_id), где pd.language_id = '1' и p.status
= '1' и p.date_available <= ' 2015-03-13 22 : 33: 00 'И p2s.store_id =
'0', cp.path_id = '148'
6654052    u10682 локальный u10682 Запрос 0 Отправка
данных SELECT COUNT (DISTINCT p.product_id) Как Всего с
oc_category_path ср LEFT JOIN oc_product_to_category p2c ON
(cp.category_id = p2c.category_id) LEFT JOIN oc_product р на
(p2c.product_id = p.product_id) на левое oc_product_description ЧР в
(p.product_id = pd.product_id) LEFT JOIN oc_product_to_store p2s НА
(р .product_id = p2s.product_id), где pd.language_id = '1' и p.status
= '1' и p.date_available <= ' 2015-03-13 22 : 33: 00 'И p2s.store_id =
'0', cp.path_id = '148'
6654054    u10682 локальный u10682 Запрос 1 Отправка
данных SELECT COUNT (DISTINCT p.product_id) Как Всего с
oc_category_path ср LEFT JOIN oc_product_to_category p2c ON
(cp.category_id = p2c.category_id) LEFT JOIN oc_product р на
(p2c. product_id = p.product_id) на левое oc_product_description ЧР в
(p.product_id = pd.product_id) LEFT JOIN oc_product_to_store p2s НА
(p.product_id = p2s.product_id), где pd.language_id = '1' и p.status
= '1' И p.date_available <= ' 2015-03-13 22 : 33: 00 'И p2s.store_id =
'0', cp.path_id = '148'
6654087    u10682 локальный u10682 Запрос 0 Отправка
данных SELECT COUNT (DISTINCT p.product_id) AS Всего с
oc_category_path ср LEFT JOIN oc_product_to_category p2c ON
(cp.category_id = p2c.category_id) LEFT JOIN oc_product р на
(p2c.product_id = p.product_id) LEFT JOIN oc_product_description ЧР в
(p.product_id = pd.product_id) LEFT JOIN oc_product_to_store p2s ON
(p.product_id = p2s.product_id), где pd.language_id = '1' и p.status
= '1' и p.date_available <= ' 2015-03-13 22 : 33: 00 'И p2s.store_id =
'0' И cp.path_id = '148'
6654096    u10682 локальный u10682 Запрос 0 Отправка
данных SELECT COUNT (DISTINCT p.product_id) AS Всего с
oc_category_path ср LEFT JOIN oc_product_to_category p2c ON
(cp.category_id = p2c.category_id) LEFT JOIN oc_product р О
(p2c.product_id = p.product_id) на левое oc_product_description ЧР в
(p.product_id = pd.product_id) LEFT JOIN oc_product_to_store p2s НА
(p.product_id = p2s.product_id), где pd.language_id = '1' и p.status
= '1' и p.date_available <= ' 2015-03-13 22 : 33: 00 'И p2s.store_id =
'0', cp.path_id = '148'
6654118    u10682 локальный u10682 Запрос 1 Отправка
данных SELECT COUNT (DISTINCT p.product_id) AS Всего с
oc_category_path ср LEFT JOIN oc_product_to_category p2c ON
(cp.category_id = p2c.category_id) LEFT JOIN oc_product р на
(p2c.product_id = p.product_id) LEFT JOIN oc_product_description ЧР в
(p.product_id = pd.product_id ) LEFT JOIN oc_product_to_store p2s НА
(p.product_id = p2s.product_id), где pd.language_id = '1' и p.status
= '1' и p.date_available <= ' 2015-03-13 22 : 33: 00 'И p2s.store_id =
'0', cp.path_id = '146'
6654128    u10682 локальный u10682 Запрос 1 Отправка
данных SELECT COUNT (DISTINCT p.product_id) Как Всего с
oc_category_path ср по левому краю oc_product_to_category p2c ON
(cp.category_id = p2c.category_id) LEFT JOIN oc_product р на
(p2c.product_id = p.product_id) LEFT JOIN oc_product_description ЧР в
(p.product_id = pd.product_id) LEFT JOIN oc_product_to_store p2s ПО
(p.product_id = p2s.product_id), где pd.language_id = '1' И p.status
= '1' и p.date_available <= ' 2015-03-13 22 : 33: 00 'И p2s.store_id =
'0', cp.path_id = '148'
6654166    u10682 локальный u10682 Query 0 Отправка
данных SELECT COUNT (DISTINCT p.product_id) AS Всего с
oc_category_path ср LEFT JOIN oc_product_to_category p2c ON
(cp.category_id = p2c.category_id) LEFT JOIN oc_product р на
(p2c.product_id = p.product_id) LEFT JOIN oc_product_description ЧР в
(p.product_id = pd.product_id) LEFT JOIN oc_product_to_store p2s НА
(p.product_id = p2s.product_id), где pd.language_id = '1' и p.status
= '1' и p.date_available <= ' 2015-03-13 22 : 33 : 00 'И p2s.store_id =
'0', cp.path_id = '148'
6654187    u10682 локальный u10682 Запрос 1 Отправка
данных SELECT COUNT (DISTINCT p.product_id) Как Всего с
oc_category_path ср LEFT JOIN oc_product_to_category p2c ON
(cp.category_id = p2c.category_id) LEFT JOIN oc_product р на
(p2c.product_id = p.product_id) LEFT JOIN oc_product_description ЧР в
(p.product_id = pd.product_id) LEFT JOIN oc_product_to_store p2s ПО
(p.product_id = p2s.product_id), где pd.language_id = '1' и p.status
= '1' и p.date_available <= ' 2015-03-13 22 : 33: 00 'И p2s.store_id =
'0', cp.path_id = '148'
6654214    u10682 локальный u10682 Запрос 0 Отправка
данных SELECT COUNT (DISTINCT p.product_id) AS Всего с
oc_category_path ср LEFT JOIN oc_product_to_category p2c ON
(cp.category_id = p2c.category_id) LEFT JOIN oc_product р на
(p2c.product_id = p.product_id) LEFT JOIN oc_product_description ЧР в
(p.product_id = pd.product_id) LEFT JOIN oc_product_to_store p2s на
(p.product_id = p2s.product_id), где pd.language_id = '1' и p.status
= '1' и p.date_available <= ' 2015-03- 13 22 : 33: 00 'И p2s.store_id =
'0', cp.path_id = '148'
6654219    u10682 локальный u10682 Запрос 0 Отправка
данных SELECT COUNT (DISTINCT p.product_id) Как Всего с
oc_category_path ср LEFT JOIN oc_product_to_category p2c ON
( cp.category_id = p2c.category_id) LEFT JOIN oc_product р на
(p2c.product_id = p.product_id) LEFT JOIN oc_product_description ЧР в
(p.product_id = pd.product_id) LEFT JOIN oc_product_to_store p2s ПО
(p.product_id = p2s.product_id) ГДЕ pd.language_id = '1' и p.status
= '1' и p.date_available <= ' 2015-03-13 22 : 33: 00 'И p2s.store_id =
'0', cp.path_id = '148'
6654245    u10682 локальный u10682 Query 0 Отправка
данных SELECT COUNT (DISTINCT p.product_id) Как Всего с
oc_category_path ср LEFT JOIN oc_product_to_category p2c ON
(cp.category_id = p2c.category_id) LEFT JOIN oc_product р на
(p2c.product_id = p.product_id) Левый Присоединитесь к oc_product_description ЧР в
(p.product_id = pd.product_id) LEFT JOIN oc_product_to_store p2s НА
(p.product_id = p2s.product_id), где pd.language_id = '1' и p.status
= '1' и p.date_available <= ' 2015-03-13 22 : 33: 00 'И p2s.store_id =
'0', cp.path_id = '148'
6654264    u10682 локальный u10682 Запрос 0 Отправка
данных SELECT COUNT (DISTINCT p.product_id) Как Всего с
oc_category_path ср LEFT JOIN oc_product_to_category p2c ON
(cp.category_id = p2c.category_id) LEFT JOIN oc_product р на
(p2c.product_id = p.product_id) на левое oc_product_description ЧР в
(p.product_id = pd.product_id) LEFT JOIN oc_product_to_store p2s НА
(p.product_id = p2s.product_id), где pd.language_id = '1' и p.status
= '1' и p.date_available <= ' 2015-03-13 22 : 33: 00 'И p2s.store_id =
'0', cp.path_id = '148'
6654281    u10682 локальный u10682 Запрос 1 Отправка
данных SELECT COUNT (DISTINCT p.product_id) Как Всего с
oc_category_path ср LEFT JOIN oc_product_to_category p2c ON
(cp.category_id = p2c.category_id) LEFT JOIN oc_product р на
(p2c.product_id = р .product_id) LEFT JOIN oc_product_description ЧР в
(p.product_id = pd.product_id) LEFT JOIN oc_product_to_store p2s НА
(p.product_id = p2s.product_id), где pd.language_id = '1' и p.status
= '1' и р. date_available <= ' 2015-03-13 22 : 33: 00 'И p2s.store_id =
'0', cp.path_id = '148'
6654301    u10682 локальный u10682 Запрос 1 Отправка
данных SELECT COUNT (DISTINCT p.product_id), как итогом с
oc_category_path ср LEFT JOIN oc_product_to_category p2c ON
(cp.category_id = p2c.category_id) LEFT JOIN oc_product р на
(p2c.product_id = p.product_id) на левое oc_product_description ЧР в
(p.product_id = pd.product_id) LEFT JOIN oc_product_to_store p2s НА
( p.product_id = p2s.product_id), где pd.language_id = '1' и p.status
= '1' и p.date_available <= ' 2015-03-13 22 : 33: 00 'И p2s.store_id =
'0' И cp.path_id = '148'
6654326    u10682 локальный u10682 Query 0 Отправка
данных SELECT COUNT (DISTINCT p.product_id) Как Всего с
oc_category_path ср LEFT JOIN oc_product_to_category p2c ON
(cp.category_id = p2c.category_id) LEFT JOIN oc_product р на
(p2c .product_id = p.product_id) на левое oc_product_description ЧР в
(p.product_id = pd.product_id) LEFT JOIN oc_product_to_store p2s НА
(p.product_id = p2s.product_id), где pd.language_id = '1' и p.status
= '1 "И p.date_available <= ' 2015-03-13 22 : 33: 00 'И p2s.store_id =
'0', cp.path_id = '148'
6654333    u10682 локальный u10682 Запрос 1 Отправка
данных SELECT COUNT (DISTINCT p.product_id ) AS Всего с
oc_category_path ср LEFT JOIN oc_product_to_category p2c ON
(cp.category_id = p2c.category_id) LEFT JOIN oc_product р на
(p2c.product_id = p.product_id) на левое oc_product_description ЧР в
(p.product_id = pd.product_id) LEFT JOIN oc_product_to_store p2s ПО
(p.product_id = p2s.product_id), где pd.language_id = '1' и p.status
= '1' и p.date_available <= ' 2015-03-13 22 : 34: 00 'И p2s.store_id =
'0', cp.path_id = '73'

 

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

Share this post


Link to post
Share on other sites

отключите подсчет кол-ва товаров в подкатегориях

Share this post


Link to post
Share on other sites

выкинь это г..-полотно и возьми НОРМАЛЬНЫЙ ЛОГ - без дебильного перевода того, чего нельзя переводить.

Share this post


Link to post
Share on other sites

выкинь это г..-полотно и возьми НОРМАЛЬНЫЙ ЛОГ - без дебильного перевода того, чего нельзя переводить.

Дружище как сделать НОРМАЛЬНЫЙ ЛОГ???

Share this post


Link to post
Share on other sites

Так они и не были включены....

Таки включены.

Иначе откуда бы в г..-полотне взялись "SELECT COUNT (DISTINCT p.product_id)" ?

Share this post


Link to post
Share on other sites
sharman35, дрючь техподдержку хостинга.

Share this post


Link to post
Share on other sites

Вот смог только такой сделать лог. Файл на яндекс диске. https://yadi.sk/i/L4OeesYjfLAus

:ugeek:  сильный лог вы его смотрели?

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.