# Row-level locking

To support multi-user access, Derby uses row-level locking.

However, you can configure Derby to use table-level locking in environments that have few concurrent transactions (for example, a read-only database). Table-level locking is preferable if there are few or no writes to the server, while row-level locking is essential for good performance if many clients write to the server concurrently. The Derby optimizer tunes lock choice for queries automatically.

Parent topic: Multiple-client features available in Derby
Related concepts
Multiple concurrency levels
Multi-connection and multi-threading
Administrative tools