Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2013.06.09;
Скачать: CL | DM;

Вниз

нужен ли try..exept   Найти похожие ветки 

 
DVM ©   (2012-11-05 22:05) [40]


> sniknik ©   (05.11.12 21:55) [39]


> речь не разовом запросе, а о данном подходе при массовых
> вставках например.

Вот я как раз и делал вставки. Сотни тысяч записей. И замерял время. Разница была, но очень небольшая, считанные секунды, при общем времени минуты. Сервер Firebird (2.5 кажется). Компоненты доступа DBX. Правда данные были весьма объемные, может это сыграло роль. Собственно решил замерять после какой то темы на форуме с твоим участием, где тот же вопрос обсуждался про параметры.


 
Anatoly Podgoretsky ©   (2012-11-05 22:42) [41]

> kilkennycat  (05.11.2012 21:50:38)  [38]

Это значит, что не надо замусоривать кеш. Делать все с параметрами и всего
делов.


 
DVM ©   (2012-11-05 22:45) [42]


> Anatoly Podgoretsky ©   (05.11.12 22:42) [41]


> Делать все с параметрами и всего
> делов.
>
>

Догмы навязываете-с.


 
sniknik ©   (2012-11-05 23:00) [43]

> Догмы навязываете-с.
+1
а ну как, условия нет, параметр придумать?

> Сервер Firebird (2.5 кажется). Компоненты доступа DBX.
они также как ADO делают при возможности (коннект + не определенность) обращение на сервер определяя тип и валидность параметров?

> с твоим участием, где тот же вопрос обсуждался про параметры.
и там, если помнишь это дало очень большой прирост скорости...

нельзя использовать на всем один подход.


 
AlphaHuman   (2012-11-06 10:47) [44]


> Anatoly Podgoretsky ©   (05.11.12 22:42) [41]
> > kilkennycat  (05.11.2012 21:50:38)  [38]
>
> Это значит, что не надо замусоривать кеш. Делать все с параметрами
> и всего
> делов.


А если нужно сделать массовый UPDATE, наример:


UPDATE table SET item_queue =
CASE item_id
WHEN item_id = 1 THEN 8
WHEN item_id = 2 THEN 16
WHEN item_id = 3 THEN 24
WHEN item_id = 4 THEN 32
WHEN item_id = 5 THEN 40
...
WHEN item_id = I THEN J
END
WHERE item_id IN (1, 2, 3, 4, 5, ..., I)


Нужно создать кучу параметров?


 
Inovet ©   (2012-11-06 10:51) [45]

> [44] AlphaHuman   (06.11.12 10:47)
> А если нужно сделать массовый UPDATE

Массовый апдейт или исключение для испраления косяков, или что-то не так с архитектурой.


 
AlphaHuman   (2012-11-06 11:05) [46]

это чтобы избежать множества UPDATE в цикле. Я получаю идентификаторы категорий - item_id. Для каждой категории нужно задать значение поля item_queue (для каждого последующего его значение равно + 8).


 
Ega23 ©   (2012-11-06 11:11) [47]


> А если нужно сделать массовый UPDATE, наример:
>
> UPDATE table SET item_queue =
> CASE item_id
> WHEN item_id = 1 THEN 8
> WHEN item_id = 2 THEN 16
> WHEN item_id = 3 THEN 24
> WHEN item_id = 4 THEN 32
> WHEN item_id = 5 THEN 40
> ...
> WHEN item_id = I THEN J
> END
> WHERE item_id IN (1, 2, 3, 4, 5, ..., I)
>
>
> Нужно создать кучу параметров?


Одной строчкой всё делается, вообще без параметров.
UPDATE table SET item_queue = item_id * 8


 
AlphaHuman   (2012-11-06 11:18) [48]


> Одной строчкой всё делается, вообще без параметров.
> UPDATE table SET item_queue = item_id * 8


1, 2, 3, 4, 5 - плохой пример привел, реально там может быть: 713, 24, 119, 1028, 2. В итоге должно получиться:

item_id item_queue
713   8
24    16
119   24
1028  32
2     40


 
MsGuns ©   (2012-11-06 13:18) [49]

ИМХО, для подобного ХП надо


 
Очень Злой   (2012-11-08 15:32) [50]

Не знаю что для подобного лучше, но на практике, мне когда встречалась такая ситуация, обычно оказывалось что нужные данные есть в других таблицах, из которых их можно получить или напрямую или создать запрос (или представление).., чтобы оно возвращало нечто типа:

item_id item_queue
713   8
24    16
119   24
1028  32
2     40


а тогда уже :
UPDATE table a SET a.item_queue = (select item_queue from dict_table_or_view where item_id=a.item.id)



Страницы: 1 2 вся ветка

Текущий архив: 2013.06.09;
Скачать: CL | DM;

Наверх




Память: 0.56 MB
Время: 0.014 c
15-1359798764
wl
2013-02-02 13:52
2013.06.09
Флешка Transcend. Как удалить с неё cd-rom


3-1290119666
TheEd
2010-11-19 01:34
2013.06.09
Есть ли возможность автоматически грузить описания полей?


4-1265370495
brahman
2010-02-05 14:48
2013.06.09
проблема с OpenStream


15-1359840605
Юрий
2013-02-03 01:30
2013.06.09
С днем рождения ! 3 февраля 2013 воскресенье


3-1289900330
12
2010-11-16 12:38
2013.06.09
ORA-20004 при попытке задать параметр процедуре