Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Вставка в Oracle (ODAC) [D7]


Страницы:   1 2

maep ©   (2006-01-18 08:23:00) 

Граждане, поделитесь опытом.
Есть множество записей, которые необходимо вставить в табличку.
просто insert(...)

В настоящее время реализовано так:

 ResultOraSQL.Prepare;
 cbData.GoToFirst;

 while not cbData.Eof do
 begin
   l  := cbData.GetItem;
   ResultOraSQL.ParamByName('mReq_req_id').AsInteger    := req_id;
   ResultOraSQL.ParamByName('mApp_id').AsInteger        := l.GetFieldInt(0);
   ResultOraSQL.ParamByName(....;

   ResultOraSQL.Execute;

   if k mod (search.index div 20) = 0 then
   begin
     FormGauge.RefreshCountWithDatim2(k,DatimCallToStr(strt));
     OraSession.Commit;
   end;

   inc(k);
 end;

 OraSession.Commit;
 ResultOraSQL.UnPrepare;

Скорость вставки — порядка 400 заисей в секунду Табличка простай, 15 полей, 1 индекс, 1 ключ — вроде не должно быть тормозов)
Мне кажется, тут что-то не так
Заранее спасибо!


evvcom   (2006-01-18 08:38:00) [21]

Попробуй определиться сначала, где тормоза. Т.е. напиши курсор на PL/SQL, возвращающий данные, аналогичные cbData, и скармливай из него данные запросу, аналогичному ResultOraSQL, точно так же построчно. Если скорость будет слабо отличаться, то приведенный тобой код, вообще ни о чем не говорит.
P.S. А cbData откуда данные берет? Не с того же оракла?


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо