Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




MySQL.RU - Webboard



Вернуться
UPDATE vs DELETE & INSERT (MatrixMaster) 20/05/2004 - 15:35:40
      Re: UPDATE vs DELETE & INSERT (Marat_L) 20/05/2004 - 16:02:06
      Re: UPDATE vs DELETE & INSERT (walrus) 20/05/2004 - 23:21:13
      Re: UPDATE vs DELETE & INSERT (MatrixMaster) 25/05/2004 - 12:09:50

> Original message text:
> From: MatrixMaster - 20/05/2004 - 15:35:40
> Subject:UPDATE vs DELETE & INSERT
> -----------------
> Есть таблица с несколькими полями, без первичного ключа.
> По ходу задачи необходимо обновлять некоторые поля в строке таблицы.
> т.к. первичного ключа нет (да он бы непригодился в данном случае), то апдейт происходит по нескольким фильтрам:
> update table set count='a' where id='b' and date='c' and hour='e'
>
> Мне кажется, что такой расширенный набор фильтров (where) способствует долгому выполнению запроса.
>
> Решился на преобразование предыдущего запроса в:
> delete from table where id='b' and date='c'
> и
> insert into table set count='a', id='b', date='c', hour='e'
>
> Поидее должно быть быстрее, но кажется не намного.
> Какие вообще есть способы решения данной проблемы?
> Когда необходимо обновление конкретного столбца в зависимости от других НЕСКОЛЬКИХ?
> Может есть финт заведения ключей и проч..
> Подскажите.
>
>


From: Marat_L - 20/05/2004 - 16:02:06
Subject:UPDATE vs DELETE & INSERT
-----------------
Ускорить UPDATE можно созданием индексов по полям id,date и hour.
Если в твоих запросах в WHERE эти три поля встречаются в одной и той же последовательности -то создай один индекс по трем полям.
И если эти три поля достаточно описывают изменяемое множество - то это лучший вариант.

При прочих равных условиях один запрос всегда работает быстрее двух.



[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
15093



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |