Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2013.06.09;
Скачать: [xml.tar.bz2];

Вниз

нужен ли 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;
Скачать: [xml.tar.bz2];

Наверх





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


15-1359581349
Knight
2013-01-31 01:29
2013.06.09
Arj архив


2-1352423459
Signal
2012-11-09 05:10
2013.06.09
Как плучить кол-во фреймов из IWebBrowsera?


2-1352062678
HEND
2012-11-05 00:57
2013.06.09
DBImage Вопрос


15-1359801615
Киноман
2013-02-02 14:40
2013.06.09
Вспомнить фильм





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский