Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL InnoDB-Deadlock-Problem mit zwei gleichen Abfragen (unterschiedliche Parameter)

Die Abfrage verwendet den index_status-Index anstelle von fk_task_userid (dem Index auf node_id). Aus diesem Grund werden Datensätze mit anderen node_ids gesperrt.

Sie können EXPLAIN für Ihre Abfrage ausführen, um zu sehen, wie viele Datensätze tatsächlich gesperrt sind (in untersuchten Zeilen) und wie viele davon Sie sperren müssen (zurückgegebene Zeilen)

Wieso den? Ich habe das Gefühl, dass Ihre Indizes sowieso nicht optimal sind ... Erstellen Sie einen Index für node_id, Status, es sollte das Problem lösen