Главная страница


su.dbms.sql

 
 - SU.DBMS.SQL ------------------------------------------------------------------
 From : Dmitri Popov                         2:5020/400     04 Apr 2001  17:13:08
 To : All
 Subject : Re: Update нескольких запи  сей в Interbase
 -------------------------------------------------------------------------------- 
 
 On Wed, 4 Apr 2001, Stepan Pasternak wrote:
 
 > Hello All!
 >
 > Есть проблема одна. надо как можно быстрее сделать апдейт нескольких (10-2000)
 > записей в табличке вида:
 > ID - integer
 > Value1 - integer
 > Value2 - integer
 >
 > записей 2000, тоесть болванка. Количество записей не меняется.
 >
 > Hадо раз в минуту апдейтить во всех (или нескольких 10-2000) записях значение
 > Value1, Value2.
 >
 > Вариант типа
 > Update my-table
 > set Value1=12, Value2=23 where id=1
 > и так по каждой записи работает слишком долго.
 >
 > надо что-то типа
 > Update my-table
 > set Value1=12 Value2=23 where id=1
 > ....
 > set Value1=33 Value2=44 where id=2000
 > но одним запросом.
 > Советовали мне пробовать через Start Transaction, но как это сделать - не знаю
 > :-(
 > Help!
 >
 > Stepan
 
 Ежели записей в пределах нескольких сотен, то можно
 update ... where id in (1, ..., 2000);
 
 Если больше, то всё равно может быть полезно побить на куски
 и обновлять таким способом. По крайней мере сэкономишь трафик по сравнению
 с одиночными обновлениями.
 
 Кстати, откуда берётся список id? Если другим запросом, то возможно
 update ... where id in (select ....);
 Правда у IB есть особенности в понимании таких подзапросов -
 http://ib.krista.ru/subq-opt.html
 
 Hу или если не сложно положить список id во временную таблицу, то потом
 можно обновляться из неё запросом примерно такого же вида. В некоторых
 наиболее клинических случаях эта таблица может быть external table. Только
 тогда по соображениям эффективности лучше for select from список_id do
 update.
 
 Вот такие примерно мысли.
 
 -- 
 Дмитрий Попов, mailto:popov@krista.ru
 
 --- ifmail v.2.15dev5
  * Origin: Krista NPO (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Re: Update нескольких запи сей в Interbase   Dmitri Popov   04 Apr 2001 17:13:08 
Архивное /su.dbms.sql/1058464a9d328.html, оценка 3 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional