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

Медленный SQL запрос очистки корзины

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

В файле system/library/cart/cart.php есть строка, которая отвечает за очистку корзины незалогиненных пользователей через час:

// Remove all the expired carts with no customer ID
$this->db->query("DELETE FROM " . DB_PREFIX . "cart WHERE (api_id > '0' OR customer_id = '0') AND date_added < DATE_SUB(NOW(), INTERVAL 1 HOUR)");

Но в slow_log обнаружил, что данный запрос занимает от 3-х до 25 секунд:

# Query_time: 13.050161  Lock_time: 0.000090  Rows_sent: 0  Rows_examined: 0
DELETE FROM oc_cart WHERE (api_id > '0' OR customer_id = '0') AND date_added < DATE_SUB(NOW(), INTERVAL 1 HOUR);

Причем таблица oc_cart пустая (0 строк).

 

С чем связан такой долгий запрос?

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


Ссылка на сообщение
Поделиться на другие сайты
21 минуту назад, alexovi сказал:

В файле system/library/cart/cart.php есть строка, которая отвечает за очистку корзины незалогиненных пользователей через час:


// Remove all the expired carts with no customer ID
$this->db->query("DELETE FROM " . DB_PREFIX . "cart WHERE (api_id > '0' OR customer_id = '0') AND date_added < DATE_SUB(NOW(), INTERVAL 1 HOUR)");

Но в slow_log обнаружил, что данный запрос занимает от 3-х до 25 секунд:


# Query_time: 13.050161  Lock_time: 0.000090  Rows_sent: 0  Rows_examined: 0
DELETE FROM oc_cart WHERE (api_id > '0' OR customer_id = '0') AND date_added < DATE_SUB(NOW(), INTERVAL 1 HOUR);

Причем таблица oc_cart пустая (0 строк).

 

С чем связан такой долгий запрос?


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

2 - присутствие индексов, но неправильно настроенный сервер

3 - данная таблица может лочится каким либо иными запросами

4 - перегруженный сервер иными запросами и блокировка самим сервером mysql.

 

 

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


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

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

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

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

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

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

Войти

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

Войти

  • Последние посетители   0 пользователей онлайн

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

×

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

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