OraLoader

Discussion of open issues, suggestions and bugs regarding ODAC (Oracle Data Access Components) for Delphi, C++Builder, Lazarus (and FPC)
Post Reply
TeleMax
Posts: 7
Joined: Wed 24 Nov 2004 08:00

OraLoader

Post by TeleMax » Wed 30 Mar 2005 08:11

Hello

Why OraLoader loads data сonsiderably slower then sqlldr.exe ?

I'm using OnPutData method

Code: Select all

{
OraLoader1->Load();
}

void __fastcall TForm1::OraLoader1PutData(TOraLoader *Sender)
{
while (--data--)
  {
  OraLoader1->PutColumnData(0, Row, --data[0]--);
  OraLoader1->PutColumnData(1, Row, --data[1]--);
  OraLoader1->PutColumnData(2, Row, --data[2]--);
  OraLoader1->PutColumnData(3, Row, --data[3]--);
  OraLoader1->PutColumnData(4, Row, --data[4]--);
  OraLoader1->PutColumnData(5, Row, --data[5]--);
  ....
  OraLoader1->PutColumnData(19, Row, --data[19]--);
  OraLoader1->PutColumnData(20, Row, --data[20]--);

  Row++;
  }
}
So, if I user OraLoader - I have 2500 str/sec
But if I user sqlldr.exe - I have 11000 str/sec

LoadMode = ImDML - because I have primary index in table

Is it possible to speed up process ?

Thank you,
TeleMax

Alex
Posts: 655
Joined: Mon 08 Nov 2004 08:39

Post by Alex » Wed 30 Mar 2005 14:58

When you use TOraLoader in lmDML mode then you actually use DML array oracle feature - not the direct path load interface that sqlldr.exe uses. The direct path load interface is much faster than DML array that is the cause of such load time difference.
P.S. Try to download the last ODAC version, the speed of loading using DML array was improved since ODAC 5.50.0.16.

Post Reply