Optimistisches vs. pessimistisches Sperren

Ich verstehe die Unterschiede zwischen optimistischem und pessimistischem Locking. Könnte mir jetzt jemand erklären, wann ich eines von beiden generell verwenden würde? Und ändert sich die Antwort auf diese Frage abhängig davon, ob ich eine gespeicherte Prozedur zum Ausführen der Abfrage verwende...