Page 1 of 1

Alternative to TOraTable.Locate?

Posted: Tue 12 Mar 2013 15:49
by kurtbilde
Hi,

TOraTable.Locate seems to be very "expensive" to use - even when .Locating on the primary key. Is there an alternative, that is less time consuming (in wait time), but still let's me use TOraTable as Dataprovidor for the DB-aware components?

-Kurt

Re: Alternative to TOraTable.Locate?

Posted: Wed 13 Mar 2013 09:07
by AlexP
Hello,

Independently on the method of positioning in the DataSet you will use (Locate, LocateEx, FindFirst, FindKey, etc.), data must be loaded to the client for positioning, and if the data volume is large enough, all these methods will cause delay. To increase performance, you can explicitly set the sorting order (ORDER BY) by a needed field or set the FetchAll property to True, that will allow retrieving all records on opening DataSet and to be positioned locally

Re: Alternative to TOraTable.Locate?

Posted: Mon 18 Mar 2013 10:17
by kurtbilde
Hi Alex,

The ORDER BY option doesn't speed up the process and when using FetchAll = true the penalty is paid when using the tOraTable.open (long wait time). Couldn't the unique rowid be used for a special tOraTable.FetchRow(RowId)?!?

-Kurt

Re: Alternative to TOraTable.Locate?

Posted: Mon 18 Mar 2013 14:39
by AlexP
Hello,

There is no such functionality at the moment. We plan to implement the possibility to search for a record by a key field without fetching the whole table. We cannot tell the exact terms of this feature implementation yet.

Re: Alternative to TOraTable.Locate?

Posted: Thu 21 Mar 2013 15:19
by kurtbilde
Hopefully very, very soon - this is a major (performance) killer :-O

-Kurt