# Wer blockiert gerade meine MariaDB-Transaktion? Canonical page: https://blame76.com/snippets/sql/2026-09-17-wer-blockiert-gerade-meine-mariadb-transaktion/ Category: Snippets Type: SQL Published: 2026-09-17 Updated: 2026-09-17 Tags: mariadb, mysql, lock, transaction, innodb Ein Update hängt oder endet mit `Lock wait timeout exceeded`. Die langsame Query muss nicht die Query sein, die das Problem verursacht. ## Erst sehen, was gerade läuft ```sql SHOW FULL PROCESSLIST; ``` Achte auf lange Laufzeiten, Zustände wie `Waiting ...` und Sessions, die scheinbar nichts tun, aber möglicherweise noch eine offene Transaktion halten. Dann die InnoDB-Transaktionen ansehen: ```sql SELECT trx_id, trx_state, trx_started, trx_wait_started, trx_mysql_thread_id, trx_query FROM information_schema.INNODB_TRX ORDER BY trx_started; ``` ## Interpretation `TRX_STATE = 'LOCK WAIT'` zeigt einen Wartenden. Eine sehr alte laufende Transaktion kann der Blockierer sein, selbst wenn ihre aktuelle Query leer erscheint. ## Nicht sofort `KILL` Eine Session abzuschießen kann Rollbacks auslösen und Anwendungsvorgänge abbrechen. Erst Zusammenhang klären: Welche Anwendung/Request gehört zur Thread-ID? Seit wann läuft die Transaktion? Ist ein vergessener `COMMIT`/`ROLLBACK` die eigentliche Ursache? ## Der Denkfehler Lock-Probleme sind Beziehungen zwischen mindestens zwei Transaktionen. Nur die wartende Query zu optimieren beantwortet deshalb oft die falsche Frage. Quellen: https://mariadb.com/docs/server/reference/sql-statements/administrative-sql-statements/show/show-processlist https://mariadb.com/docs/server/reference/system-tables/information-schema/information-schema-tables/information-schema-innodb-tables/information-schema-innodb_trx-table