Invalidation
of buffers
When Sequential Block Buffering (VSBB of RSBB) is used for a cursor, then
the block-buffer can become invalid when the same process executes a
stand-alone INSERT, UPDATE or DELETE against the same table. This may have
a negative impact on performance because the block-buffer has to be rebuilt
at the next fetch, which results in a physical I/O. Avoid using stand-alone
updates and deletes in combination with cursors on the same table. Code the
FOR UPDATE OF option on the cursor and use UPDATE/DELETE WHERE CURRENT OF
cursor.
Range-locks
at insert
When Sequential Block Buffering (VSBB of RSBB) is used for sequential
inserts, this can have a negative impact on concurrency. In this situation
NS-SQL issues a range-lock from the last row inserted until the next
existing row in the table. If there are no following rows, then the
range-lock is extended to End-Of-File. Because of this range-lock no other
process can insert rows in this range.
If you want to avoid this use the control statement SEQUENTIAL INSERT OFF
|
No comments:
Post a Comment