Icon View Thread

The following is the text of the current message along with any replies.
Messages 1 to 3 of 3 total
Thread TableMaxReadLockCount
Wed, Mar 21 2007 9:57 AMPermanent Link

"Jose Eduardo Helminsky"
Tim

IŽve been looking the source code of DBISAM (specifically at dbisamen.pas)
and I have a doubt about
TableMaxReadLockCount.

It canŽt be set to 0 (no locks) and the default value is 100. For each 100
records browsed (internally by engine) there is a lock/unlock situation.
Some time ago, I have made some tests and check performance impact changing
this value to 1 for example and I have realized this became better for
shortest values. I know that there are concurrency problems with table
(100.000 records locked) but I have a lot of SQL that query old data (no
updates) and therefore I think this is not necessary to lock the table to
prevent updates. It will improve a lot the performance of SQL query.

My question:
It canŽbe changed to 0 (no locks) ?

Eduardo

Wed, Mar 21 2007 4:43 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Eduardo,

<< It canŽt be set to 0 (no locks) and the default value is 100. For each
100 records browsed (internally by engine) there is a lock/unlock situation.
Some time ago, I have made some tests and check performance impact changing
this value to 1 for example and I have realized this became better for
shortest values. I know that there are concurrency problems with table
(100.000 records locked) but I have a lot of SQL that query old data (no
updates) and therefore I think this is not necessary to lock the table to
prevent updates. It will improve a lot the performance of SQL query.

My question:
It canŽbe changed to 0 (no locks) ? >>

No, it has to be 1 or higher.  Setting it to 0 does not prevent the initial
lock, it would simply prevent DBISAM from ever releasing the lock, which
would cause a serious issue with your database. Smiley

--
Tim Young
Elevate Software
www.elevatesoft.com

Wed, Mar 21 2007 5:01 PMPermanent Link

"Jose Eduardo Helminsky"
Tim

> No, it has to be 1 or higher.  Setting it to 0 does not prevent the
> initial lock, it would simply prevent DBISAM from ever releasing the lock,
> which would cause a serious issue with your database. Smiley
Ok. Got it.

Eduardo


Image