Icon View Thread

The following is the text of the current message along with any replies.
Messages 1 to 3 of 3 total
Thread QuantumGrid and DBISAM - slow performance
Sun, Dec 3 2006 5:54 AMPermanent Link

Tom
QuantumGrid and DBISAM - slow performance



Attachments: SlowDemo.zip
Sun, Dec 3 2006 9:34 PMPermanent Link

"Adam H."
Hi Tom,

Was not able to open your attachment (came  through as text on the email as
text), however - here's some info on DBISam and Quantumgrid that may help:

Quantumgrid has a property called GRIDMODE. When set to TRUE, the grid will
operate as a normal grid, but you will loose functionality with sorting,
grouping, filtering, etc.

By default, Quantumgrid has this property set to FALSE, which allows you to
use all the cool features of quantumgrid. However - in order for Quantumgrid
to do this, they load every record of the dataset into their own memory
table, so they can 'play' with it.

With normal grids (or QG in gridmode), only the data that needs to be
displayed is loaded into memory. (So, if you have a table with 500,000
records, but the grid on the screen only views 40 at a time, only 40 are
loaded - however with Quantumgrid, they will load every record in the table
first - which is what will be causing loss of performance).

There are a few tricks that you can do to speed this up.

* Don't display all the records in the grid. Use a sql query to select only
a short list of relevant records to start with.

One thing I use, for instance, is a set of bitbtn's down the side of the
grid, one labeled 'today', another 'within the last week', another 'within
last month', and another 'show all records'. These buttons alter the SQL, so
by default, the user only sees the most recent records, but if they want to,
they can still view 'ALL records', - which will of course take some time to
load.

Another idea I've had (and have requested it be added to Quantumgrid in a
later release) is the idea of a 'Smart Gridmode' option. This would be one
where the grid is in gridmode by default, but if the user decides to use one
of the features (such as sorting, or filtering), the grid automatically
switches gridmode to false then, (thus loading all the records only when the
user wants to do something fancy with them).

I have implemented this into one of my current applications manually (I have
it working OK, but have a few minor issues to work through).

Hope this helps to shed some light.

Cheers

Adam.

Mon, Dec 4 2006 7:48 AMPermanent Link

Tom
Adam, attachment is fine, I can download and open it without problem.
Also I know about GridMode=true function but I always used GridMode=false
and it worked fine and quick, I don't use large tables - ~5000 records.
Several months ago I have switched to DBISAM 4.x and to new
QG version and then problems with speed came.

Also try to set RequestLive to false in DBISAM qyery and you will see that QG works very fast in GridMode=false.
Image