Icon View Thread

The following is the text of the current message along with any replies.
Messages 11 to 13 of 13 total
Thread Performance Question
Mon, Jun 15 2009 1:35 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Alfred,

<< True, the Internet definitly has an affect...

I have to test it over the LAN and compare... >>

Two things:

1) If you're operating over the Internet, then other things aside from the
filter time will be an issue (number of fields, lookup fields).  You can see
the actual filter execution time by examining this TEDBTable property:

http://www.elevatesoft.com/manual?action=mancompprop&id=edb2&product=d&version=7&comp=TEDBDataSet&prop=FilterExecutionTime

2) Filters and sensitive result sets have the added overhead of having to
reposition the active row pointer in the live, filtered dataset according to
the active index order (or ORDER BY clause for sensitive result sets).  This
can result in them being slightly slower than insensitive result sets when
you're selecting just a few rows from many rows (over 100,000).

--
Tim Young
Elevate Software
www.elevatesoft.com

Tue, Jun 16 2009 6:06 AMPermanent Link

Alfred Ghazzi
Hi Tim

Many thanks for your reply...

I hope you don't mind asking couple more questions to increase my understanding...

Is it correct that when the filter is applied to a TEDBTable (Expression Filter) is executed on the local table buffers and when used as part of a
WHERE clause is executed on server's buffers? (Otherwise, I would imagine that the Filter expression is sent to the server and the server filters
the records on server PC?)

Am I right if I assume that filtering at the server is much faster than sending all records to the local table which then uses the Expression Filter
to filter the records?

Does the excution of Jobs (like Backup, loading updates or saving updates) affect the performance of the tables and their access? Are the locks
on individual records as needed or they lock tables at a time?

I have a lot of questions to ask, but I'll leave them for later....

Many Thanks and Kind Regards

Alfred
Tue, Jun 16 2009 1:44 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Alfred,

<< I hope you don't mind asking couple more questions to increase my
understanding... >>

Not at all. Smiley

<< Is it correct that when the filter is applied to a TEDBTable (Expression
Filter) is executed on the local table buffers and when used as part of a
WHERE clause is executed on server's buffers? >>

No, both are executed on the server.  The only exception is the
OnFilterRecord event handler, which is evaluated on the client side.

<< Am I right if I assume that filtering at the server is much faster than
sending all records to the local table which then uses the Expression Filter
to filter the records? >>

Yes, filtering at the server is the ideal situation.

<< Does the excution of Jobs (like Backup, loading updates or saving
updates) affect the performance of the tables and their access? >>

Yes.  Both backups and saving updates require read locks on all involved
tables, thus preventing any updates while they are executing.  However, both
are very fast, so the read lock time is minimal.  In addition, both are
normally executed at a time of the day when normal user activity is minimal.

<< Are the locks on individual records as needed or they lock tables at a
time? >>

On a table basis.

--
Tim Young
Elevate Software
www.elevatesoft.com

« Previous PagePage 2 of 2
Jump to Page:  1 2
Image