Чтение RSS каналов

Форум

Открыть Ответить

Модуль SHOP - долгие запросы в MySQL - HELP

5

5
1
07.04.2012 08:34:32
Здравствуйте,
Пришло вчера письмо от хостера по поводу чрезмерно долгого запроса в базу данных, со ссылкой на это:

В вашем аккаунте зафиксировано превышение квоты на загрузку сервера баз данных.
База данных, превышающая квоту:  gb_blokhin 

Параметры запроса, вызывающего проблему:
(приводятся параметры одного из запросов)

Время исполнения, секунд   - 461
Кол-во просмотренных строк - 7238
Запрос:
-------
use gb_blokhin;
SET timestamp=1333628505;
SELECT s.id,s.iid,s.min,s.max,s.count,s.type,p.status FROM 2ATD33DAtR_gizzo_sizes AS s LEFT JOIN 2ATD33DAtR_gizzo_shop AS p ON (s.iid=p.id) ORDER BY s.min ASC;
-------

ВАЖНО: ключевой параметр - количество просмотренных строк, а не время исполнения запроса (время роли не играет).

Загрузка сервера баз данных, вызываемая вашим сайтом, превышает нормы, допустимые для виртуального хостинга.
Работа базы данных в этом режиме нарушает предсказуемость работы сервера, мешает другим пользователям сервера.

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


Если вы хотите продолжать пользоваться нашими услугами,
вам необходимо в короткий срок решить проблему.
Ваш аккаунт или БД может быть заблокированы, так как 
подобная нагрузка может вызывать перегрузку сервера баз данных 
и отказ в обслуживании для других клиентов.


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

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

Сделал запрос в базу на поиск всех "0" - выделил их и удалил.

Всё бы ничего, если бы сегодня не обнаружил на сайте вызванный вчерашней чисткой глюк, а именно
Раньше, если размеры у модели заканчивались, то модель уходись с сайта и не демонстрировалась на показ, status=0, а теперь о ужас - все ранее деактивированное - высыпалось на сайт со значением status=1.

Так как не силен в запросах в базу данных, прошу подсказать, как выполнить массовый запрос, чтобы по нескольким позициям подряд прописать статус=0, пробовал, что-то вроде этого:
ALTER TABLE `2ATD33DAtR_gizzo_shop` WHERE id IN (7551, 5182, 7784, 9953, 4987) status=0


Выдает ошибку ссылаясь на синтаксис - подскажите, HELP, как правильно выполнить запрос в базу данных.
Заранее спасибо!

title


Версия системы: SLAED CMS 4.* Pro
Версия PHP: PHP 5
Сервер: Сервер в интернете
4.27

4.27
2
07.04.2012 11:47:2807.04.2012 11:48:10
Выполни запрос из админ-панели

UPDATE {pref}_gizzo_shop SET status='0'  WHERE id IN (7551, 5182, 7784, 9953, 4987);
3.76

3.76
3
07.04.2012 12:42:47
Большое спасибо! Сработало! Всё получилось!!!


Версия системы: SLAED CMS 4.* Pro
Версия PHP: PHP 5
Сервер: Сервер в интернете
4.27

4.27
Открыть Ответить
Хотите опробовать SLAED CMS в действии?

Технологии

PHP MySQL HTML 5 CSS 3 jQuery jQuery UI

Контакты

  • D-49179, Deutschland
    Ostercappeln, Im Siek 6
  • +49 176 61966679

  • https://slaed.net
Идеи и предложения
Обратная связь