SQLite führt alle erforderlichen Sperren aus, um das Transaktionsschema zu implementieren, das in Ihren SQL-Anweisungen beschrieben wird. Insbesondere, wenn Sie keine beschreiben, erhalten Sie automatisches Commit-Verhalten, wobei eine Sperre für die Dauer jeder Anweisung beibehalten und dann gelöscht wird, wenn die Anweisung abgeschlossen ist. Sollten Sie längere Transaktionen benötigen (oft wahr!), Dann fragen Sie diese explizit mit BEGIN TRANSACTION
(oft verkürzt auf BEGIN
) und beenden Sie mit COMMIT TRANSACTION
(oder). Die Transaktionsverarbeitung wird häufig von Ihrer Sprachschnittstelle für Sie abgewickelt (da dies das Korrigieren der Transaktionslebensdauer erheblich vereinfacht), aber auf der Basisebene kommt es auf BEGIN
/COMMIT
/ROLLBACK
.
Kurz gesagt, Sie haben Transaktionen. Sperren werden verwendet, um implementieren Transaktionen. Sie haben keine rohen Schlösser (was eine gute Sache ist; sie sind ziemlich schwer zu bekommen, als Sie vielleicht auf den ersten Blick denken würden).