Jump to content
Sign in to follow this  
max6002

[Решено?..] Отчет по заказам клиентов - Error No: 1317

Recommended Posts

Подскажите как оптимизировать запрос в admin/model/report/customer.php, а то сейчас выдает ошибку

Notice: Error: Query execution was interrupted
Error No: 1317

OcStore 1.5.5.1.2, более 1600 клиентов

Share this post


Link to post
Share on other sites

долго выполняется и сервер обрывает запрос?

уточни у хостера, запроси лог медленных запросов.

Share this post


Link to post
Share on other sites

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

ошибка указывает на этот запрос

Notice: Error: Query execution was interrupted
Error No: 1317
SELECT tmp.customer_id, tmp.customer, tmp.status, COUNT(tmp.order_id) AS orders, SUM(tmp.total) AS total FROM (SELECT o.order_id, c.customer_id, CONCAT(o.firstname, ' ', o.lastname) AS customer, o.email, cgd.name AS customer_group, c.status, (SELECT SUM(op.quantity) FROM `oc_order_product` op WHERE op.order_id = o.order_id GROUP BY op.order_id) AS products, o.total FROM `oc_order` o LEFT JOIN `oc_customer` c ON (o.customer_id = c.customer_id) LEFT JOIN oc_customer_group_description cgd ON (c.customer_group_id = cgd.customer_group_id) WHERE o.customer_id > 0 AND cgd.language_id = '1' AND o.order_status_id > '0') tmp GROUP BY tmp.customer_id ORDER BY total DESC LIMIT 0,50 in /www/system/database/mysql.php on line 50
Ошибка возникает, при попытке загрузить отчет Покупатели-Заказы

Share this post


Link to post
Share on other sites

индексы проставлены в бд?

Share this post


Link to post
Share on other sites

прописывались такие индексы

ALTER TABLE oc_product_attribute ADD INDEX attribute_id ( attribute_id );
ALTER TABLE oc_product_attribute ADD INDEX language_id ( language_id );
 
ALTER TABLE oc_product_description ADD INDEX language_id ( language_id );
 
ALTER TABLE oc_product_image ADD INDEX product_id ( product_id );
ALTER TABLE oc_product_image ADD INDEX sort_order ( sort_order );
 
ALTER TABLE oc_product_option ADD INDEX product_id (product_id);
ALTER TABLE oc_product_option ADD INDEX option_id (option_id);
 
ALTER TABLE oc_product_option_value ADD INDEX product_option_id (product_option_id);
ALTER TABLE oc_product_option_value ADD INDEX product_id (product_id);
ALTER TABLE oc_product_option_value ADD INDEX option_id (option_id);
ALTER TABLE oc_product_option_value ADD INDEX option_value_id (option_value_id);
ALTER TABLE oc_product_option_value ADD INDEX subtract (subtract);
ALTER TABLE oc_product_option_value ADD INDEX quantity (quantity);
 
ALTER TABLE oc_product_reward ADD INDEX product_id ( product_id );
ALTER TABLE oc_product_reward ADD INDEX customer_group_id ( customer_group_id );
 
ALTER TABLE oc_product_to_category ADD INDEX category_id ( category_id );
 
ALTER TABLE oc_product_to_store ADD INDEX store_id ( store_id );
 
ALTER TABLE oc_setting ADD INDEX store_id ( store_id );
ALTER TABLE oc_setting ADD INDEX `group` ( `group` );
ALTER TABLE oc_setting ADD INDEX `key` ( `key` );
ALTER TABLE oc_setting ADD INDEX serialized ( serialized );
 
ALTER TABLE oc_url_alias ADD INDEX query ( query );

Share this post


Link to post
Share on other sites

ну, как бы, эти совсем не касаются запроса.

в общем можно и нужно добавить индексы по столбцам из запроса (в любом случае) + таки переписать сам запрос.

однако!

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

вдруг действительно мало времени дается...

Share this post


Link to post
Share on other sites

как я понял нужны индексы для таблиц oc_order_product, oc_order, oc_customer
 

ALTER TABLE oc_order_product ADD INDEX order_product_id ( order_product_id );
ALTER TABLE oc_order_product ADD INDEX order_id ( order_id );
ALTER TABLE oc_order_product ADD INDEX product_id ( product_id );

ALTER TABLE oc_order ADD INDEX order_id ( order_id );
ALTER TABLE oc_order ADD INDEX customer_id ( customer_id );
ALTER TABLE oc_order ADD INDEX customer_group_id ( customer_group_id );

ALTER TABLE oc_customer ADD INDEX customer_id ( customer_id );
ALTER TABLE oc_customer ADD INDEX customer_group_id ( customer_group_id );

может что-то лишнее? каким еще полям можно индексы прописать?

 

Share this post


Link to post
Share on other sites

Получилось данную проблему решить? Тоже с этим столкнулся. Индексы проставил не помогло. Хостер пишет что лимит памяти исчерпан:

 

 

Jun  5 13:39:55 ovzhost80 kernel: [1080659.433317] Out of memory in UB 7982403: OOM killed process 1031164 (mysqld) score 0 vm:1458224kB, rss:159716kB, swap:0kB

 

возможности сменить хостера нету, ngnix и акселлератор стоит, но не погает :(

Edited by saveplanet

Share this post


Link to post
Share on other sites

однозначно запросы в customer.php жрут ресурс как вижу

Share this post


Link to post
Share on other sites

Ради эксперемента перенес сайт на мощный сервер, проблема таже самая. Дело в таком кривом запросе в customer.php

Удалить старые заказы не вариант. А вот как из ситуации выйти не понимаю. Почему заходя в Отчеты - Покупатели - Заказы, тупо бразуер грузит и не выдает не оишбок ничего.

Edited by saveplanet

Share this post


Link to post
Share on other sites

Отсутвовали изначально в OpenCart индексы вот эти, добавив, проблема разрешилась:

 

 

alter table order_product add index order_id(order_id);
alter table order add index order_status_id(order_status_id);
alter table order add index customer_order_status_id(customer_order_status_id);
alter table customer_group_description add index language_id(language_id);

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.