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

Форум

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

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

5

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

01В вашем аккаунте зафиксировано превышение квоты на загрузку сервера баз данных.
02База данных, превышающая квоту:  gb_blokhin
03 
04Параметры запроса, вызывающего проблему:
05(приводятся параметры одного из запросов)
06 
07Время исполнения, секунд   - 461
08Кол-во просмотренных строк - 7238
09Запрос:
10-------
11use gb_blokhin;
12SET timestamp=1333628505;
13SELECT 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, пробовал, что-то вроде этого:
1ALTER TABLE `2ATD33DAtR_gizzo_shop` WHERE id IN (7551, 5182, 7784, 9953, 4987) status=0


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

title


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

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

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

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


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

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

Технологии

PHP MySQL HTML 5 CSS 3 jQuery jQuery UI

Контакты

Идеи и предложения
Обратная связь