Figure 8-1. Transactions over time
Transaction A Transaction B
Reads data
Writes data
Commits changes
Reads data
Writes data
Commits changes
T
I
M
E
Basics of Concurrent Access | 189
Oracle uses read locks only when a SQL operation specifically requests them with
the FOR UPDATE clause in a SELECT statement. You shouldn??™t use the FOR
UPDATE clause routinely because it unduly increases the probability that readers
will interfere with writers??”a situation that normally never occurs with Oracle, as
you will see shortly.
Concurrency and Contention
A system of locks enforcing isolation between concurrent users of data can lead to its
own problems. As youcan see from the example described above, a single transaction
can cause significant performance problems as the locks it places on the
database prevent other transactions from completing. The interference caused by
conflicting locks is called contention. More contention in a database slows response
times and lowers the overall throughput.
In most other databases, increased concurrent access to data results in increased contention
and decreased performance.
Pages:
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421