MySQL hat eine eingebaute Beschraenkung auf der Anzahl an Locks, die es halten kann.
Wenn das Ding ein paar Tausend Eintraege in einer Tabelle mit Foreign-Keys loeschen soll,
dann holt es sich scheinz fuer jeden Eintrag ein Lock. Und dann stirbts mit der Meldung
'The total number of locks exceeds the lock table size'
Eine Fehlermeldung sollte immer einen Tip enthalten, wie man den Fehler behebt. Diese hier enthaelt
sowas nur sehr vage. Es gibt eine Konfig-Variable innodb_buffer_pool_size (was nix mit
lock table size zu tun haben kann, vom Namen her), die hoeher gesetzt werden koennte. Hab die jetzt
mal auf 60MB gesetzt und teste... Die Std-Einstellungen sind nicht geeignet, eine
Datenbank mit ein paar Millionen Eintraegen zu managen, sonDreck.
Noch besser: MySQL loescht nach dem Hochsetzen der innodb_buffer_pool_size auch dann nicht,
wenn man ein LIMIT 1000 dahintersetzt (also nur 1000 Eintraege loescht). Wenn man dann mit
LIMIT 1 loescht gehts, und auch LIMIT 10, LIMIT 100 und LIMIT 1000 gehen dann ploetzlich.
Nondeterministic Databases....