Cloudscape Properties
Page 28 of 47

cloudscape.locks.escalationThreshold

Function

Sets the threshold at which the optimizer (during compilation) escalates the locking on a table from row level to table level for a statement. If the optimizer estimates that executing the statement will lock more rows in a table than the number specified in this property, the optimizer locks the entire table instead and releases the row-level locks.

Also used by the Cloudscape system at runtime in determining when to attempt to escalate locking for at least one of the tables involved in a transaction from row-level locking to table-level locking. This runtime decision is independent of any compilation decision.

A large number of row locks use a lot of resources. If nearly all the rows are locked, it may be worth the slight decrease in concurrency to lock the entire table to avoid the large number of row locks.

For more information, see Locking and Performance.

It is useful to increase this value for large systems (such as enterprise-level servers, where there is more than 64 MB of memory), and to decrease it for very small systems (such as palmtops).

Syntax

cloudscape.locks.escalationThreshold=numberOfLocks

Default

5000.

Minimum

100.

Maximum

2,147,483,647.

Example

-- system-wide property
cloudscape.locks.escalationThreshold=1000

-- database-wide property
CALL PropertyInfo.setDatabaseProperty(
    'cloudscape.locks.escalationThreshold',
    '1000')

-- publishing a database-wide property
ALTER PUBLICATION APub
ADD TARGET DATABASE PROPERTY
cloudscape.locks.escalationThreshold=
    '1000'

Scope

system-wide

database-wide (publishable)

Dynamic or Static

Dynamic; the change takes effect immediately. For information about dynamic changes to properties, see Dynamic or Static Changes to Properties.