Row lock
Lock på enstaka rader istället för hela tabellen. Standard for UPDATE/DELETE i moderna DBs. Tillåter hög concurrency: 100 sessions kan UPDATE olika rader samtidigt.
Explicit: SELECT ... FOR UPDATE tar exclusive row-lock, SELECT ... FOR SHARE tar shared. PostgreSQL: row-locks lagras i tuple-header + heavyweight-lock-tabell vid kontention. MySQL InnoDB: row-locks via index — UPDATE utan index på WHERE-condition = full table-lock. Lock-escalation: vissa DBs eskalerar row-locks till table-lock vid många locks (SQL Server). PostgreSQL gör inte detta. SKIP LOCKED-clause: queue-mönster i SQL (klassisk PostgreSQL-jobb-queue-pattern).