Несколько Тяжелых Mysql Update

Тема в разделе "PHP программирование", создана пользователем seoman2, 8 фев 2012.

  1. seoman2

    seoman2 Lotus team
    Lotus team

    Регистрация:
    17 фев 2010
    Сообщения:
    435
    Симпатии:
    0
    В общем нужно выполнить порядка 20-30 mysql UPDATE в большой базе в 1 php файле, мусор там почистить в постах, в и все запросы типа
    Код (Text):
     $sql = mysql_query("UPDATE post SET pagetext = REPLACE(pagetext,'мусор','')");
    прсто убивают сервак.
    всё что приходит в голову, это между запросами sleep(5); к примеру ставить. но не помогает...
    UPDATE LOW_PRIORITY - тоже не помогает.
     
  2. -master-

    -master- Well-Known Member

    Регистрация:
    14 янв 2012
    Сообщения:
    629
    Симпатии:
    19
    Ну если 20-30 убивают сервак, то дело явно в другом.

    Да и вообще такие вещи надо делать в сохраненой процедуре, и вызывать ее асинхронно.
     
  3. seoman2

    seoman2 Lotus team
    Lotus team

    Регистрация:
    17 фев 2010
    Сообщения:
    435
    Симпатии:
    0
    база на 500 м.б. и наверно по этому UPDATE так грузит.
     
  4. -master-

    -master- Well-Known Member

    Регистрация:
    14 янв 2012
    Сообщения:
    629
    Симпатии:
    19
    Ну это не так и много, хотя конечно запросы плохие, тут всю таблицу сканировать надо, что не есть хорошо.
    Надо смотреть как не допустить попадания муора в базу.

    Добавлено: Ну и асинхронно надо делать, тогда у вас страница моментально отработает.
     
  5. -master-

    -master- Well-Known Member

    Регистрация:
    14 янв 2012
    Сообщения:
    629
    Симпатии:
    19
    Еще надо критерии вводить. Както определять надо ли делать чистку для конкретной записи.
    Ну если запись от предыдущих чисток не апдейтилась, то и чистить ее не имеет смысла.
    Тогда запросы станут быстрее отрабатывать.
     
  6. acorn

    acorn PHP Developer
    Web Team

    Регистрация:
    29 авг 2004
    Сообщения:
    599
    Симпатии:
    3
    seoman2
    просьба обратить внимание на ваше предыдущее предупреждение:
    "Повышение уровня предупреждений: используйте тег
    Код (Text):
    "
     
  7. seoman2

    seoman2 Lotus team
    Lotus team

    Регистрация:
    17 фев 2010
    Сообщения:
    435
    Симпатии:
    0
    Исправил первый пост.
     
Загрузка...

Поделиться этой страницей