Здравствуйте,
Пришло вчера письмо от хостера по поводу чрезмерно долгого запроса в базу данных, со ссылкой на это:
Таких проблем отродясь не было на сайте с его рождения, посоветовали обратится к программисту системы, чтобы глянул.
Пробежавшись по своей базе - сначала сделал ее копию на серваке у хостера, а затем решил почистить самостоятельно, т.е. удалить все те строки, которые не используются.
В моем случае это те размеры одежды, которые давно продались и больше никогда не появятся.
Сделал запрос в базу на поиск всех "0" - выделил их и удалил.
Всё бы ничего, если бы сегодня не обнаружил на сайте вызванный вчерашней чисткой глюк, а именно
Раньше, если размеры у модели заканчивались, то модель уходись с сайта и не демонстрировалась на показ, status=0, а теперь о ужас - все ранее деактивированное - высыпалось на сайт со значением status=1.
Так как не силен в запросах в базу данных, прошу подсказать, как выполнить массовый запрос, чтобы по нескольким позициям подряд прописать статус=0, пробовал, что-то вроде этого:
Выдает ошибку ссылаясь на синтаксис - подскажите, HELP, как правильно выполнить запрос в базу данных.
Заранее спасибо!

Пришло вчера письмо от хостера по поводу чрезмерно долгого запроса в базу данных, со ссылкой на это:
01 | В вашем аккаунте зафиксировано превышение квоты на загрузку сервера баз данных. |
02 | База данных, превышающая квоту: gb_blokhin |
03 |
04 | Параметры запроса, вызывающего проблему: |
05 | (приводятся параметры одного из запросов) |
06 |
07 | Время исполнения, секунд - 461 |
08 | Кол-во просмотренных строк - 7238 |
09 | Запрос: |
10 | ------- |
11 | use gb_blokhin; |
12 | SET timestamp=1333628505; |
13 | 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; |
14 | ------- |
15 |
16 | ВАЖНО: ключевой параметр - количество просмотренных строк, а не время исполнения запроса (время роли не играет). |
17 |
18 | Загрузка сервера баз данных, вызываемая вашим сайтом, превышает нормы, допустимые для виртуального хостинга. |
19 | Работа базы данных в этом режиме нарушает предсказуемость работы сервера, мешает другим пользователям сервера. |
20 |
21 | Вам необходимо модифицировать скрипты, отказаться от выполнения запросов, аналогичных предыдущему, либо оптимизировать структуру таблиц или запрос. |
22 |
23 |
24 | Если вы хотите продолжать пользоваться нашими услугами, |
25 | вам необходимо в короткий срок решить проблему. |
26 | Ваш аккаунт или БД может быть заблокированы, так как |
27 | подобная нагрузка может вызывать перегрузку сервера баз данных |
28 | и отказ в обслуживании для других клиентов. |
Таких проблем отродясь не было на сайте с его рождения, посоветовали обратится к программисту системы, чтобы глянул.
Пробежавшись по своей базе - сначала сделал ее копию на серваке у хостера, а затем решил почистить самостоятельно, т.е. удалить все те строки, которые не используются.
В моем случае это те размеры одежды, которые давно продались и больше никогда не появятся.
Сделал запрос в базу на поиск всех "0" - выделил их и удалил.
Всё бы ничего, если бы сегодня не обнаружил на сайте вызванный вчерашней чисткой глюк, а именно
Раньше, если размеры у модели заканчивались, то модель уходись с сайта и не демонстрировалась на показ, status=0, а теперь о ужас - все ранее деактивированное - высыпалось на сайт со значением status=1.
Так как не силен в запросах в базу данных, прошу подсказать, как выполнить массовый запрос, чтобы по нескольким позициям подряд прописать статус=0, пробовал, что-то вроде этого:
1 | ALTER TABLE `2ATD33DAtR_gizzo_shop` WHERE id IN (7551, 5182, 7784, 9953, 4987) status=0 |
Выдает ошибку ссылаясь на синтаксис - подскажите, HELP, как правильно выполнить запрос в базу данных.
Заранее спасибо!

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