Performance IBCTable

Discussion of open issues, suggestions and bugs regarding IBDAC (InterBase Data Access Components) for Delphi, C++Builder, Lazarus (and FPC)
Post Reply
rcmz
Posts: 15
Joined: Wed 12 Mar 2008 05:58

Performance IBCTable

Post by rcmz » Wed 16 Apr 2008 01:37

Hello to all

How can I improve the performance when using IBCTable ?

TIA
Ramiro

Plash
Devart Team
Posts: 2844
Joined: Wed 10 May 2006 07:09

Post by Plash » Wed 16 Apr 2008 11:53

Please specify what operations you need to make faster.

rcmz
Posts: 15
Joined: Wed 12 Mar 2008 05:58

Post by rcmz » Fri 18 Apr 2008 01:56

Thanks for your reply

Opening the table so ti can be used in a grid.

TIA
Ramiro

Plash
Devart Team
Posts: 2844
Joined: Wed 10 May 2006 07:09

Post by Plash » Fri 18 Apr 2008 08:09

Properties of TIBCTable component are set for maximum performance by default. But if your table has BLOB fields, you can set DeferredBlobRead option to True to increase opening speed.

rcmz
Posts: 15
Joined: Wed 12 Mar 2008 05:58

Post by rcmz » Thu 24 Apr 2008 20:32

Hello Again

In my Laptop after the Open of the table to the next line of code it delays 12 seconds this is too much.

How can I correct this ?

In a Lan enviroment it delays more than 12 secs.

The table at this moment haves 17000 records but it will go to 30000 that will double the delay.

Here is what i do before the Open of the table:
IBCTsocios.Connection := dm.ibConec;
IBCTsocios.TableName := 'SOCIOS';
IBCTsocios.IndexFieldNames := 'NOMBRES';
IBCTsocios.FilterSQL := '(TIPO = '+QuotedStr('A')+')';
IBCTsocios.Open;

Using Delphi 2007, FB 2.0x, ibDac 2.20.1.13

TIA
Ramiro

Plash
Devart Team
Posts: 2844
Joined: Wed 10 May 2006 07:09

Post by Plash » Fri 25 Apr 2008 09:18

By default the TIBCTable component fetches only first 25 records when it is opened. If you set the IndexFieldNames property, all records are fetched on opening the table, and it causes the delay.

To open the table faster, you can use the OrderFields property instead of IndexFieldNames. In this case the ORDER BY clause is added to the SQL statement for opening the table, and data are sorted on the server.

Post Reply