| Subject | Slow performance using isc_blob_info | 
|---|---|
| Author | Chau Chee Yang | 
| Post date | 2007-05-22T10:13:06Z | 
Hi,
I am writing a Delphi DBX driver to access Firebird Database.I
encounter a performance issue while access Blob Field.
I have a table with 30K rows that has 2 blob fields. When I load this
table into a TClientDataSet, it tooks 30 seconds. However, if I use
the driver provided by Borland (Codegear), it tooks only 10 seconds.
After tracing my source code, I found the bottle neck occurs at the
following API that read the Blob Size:
isc_open_blob(...);
isc_blob_info(...);
isc_close_blob(...);
The above API will get call each time to read the Blob Size. The
debug trace from Borland's DBX driver also use these 3 APIs to get
Blob Size. Does anyone know what cause the slow performance on my driver?
Thank you.
            I am writing a Delphi DBX driver to access Firebird Database.I
encounter a performance issue while access Blob Field.
I have a table with 30K rows that has 2 blob fields. When I load this
table into a TClientDataSet, it tooks 30 seconds. However, if I use
the driver provided by Borland (Codegear), it tooks only 10 seconds.
After tracing my source code, I found the bottle neck occurs at the
following API that read the Blob Size:
isc_open_blob(...);
isc_blob_info(...);
isc_close_blob(...);
The above API will get call each time to read the Blob Size. The
debug trace from Borland's DBX driver also use these 3 APIs to get
Blob Size. Does anyone know what cause the slow performance on my driver?
Thank you.