Details zu mySql kenne ich nicht. Aber ich vermute, daß das ähnlich komplex ist wie bei MS-Sqlserver:
1. Verbindungsparameter Connection Timeout: Legt fest, wie lange der Client wartet, bis der Db-Server auf einen Verbindungsversuch antworten muß.
2. Verbindungsparameter Command Timeout: Legt den Gesamtzeitbedarf für die Befehlsfolge fest, die der Client akzeptiert. Danach bricht er ab.
3. Set Lock_Timeout 5000: Legt fest, wie lange der MS-SqlServer auf das Aufheben einer einzelnen Sperre wartet. Bei mehreren Anweisungen in einem Block kann dieser Wert (5 Sekunden) natürlich pro Anweisung auftreten.
Sprich: Es geht nicht direkt innerhalb des Db-Servers, sondern entweder vom Client (der sich dann verschämt zurückzieht
) oder innerhalb einer Anweisung, die nur begrenzt Geduld hat. Ist diese Anweisung die einzigste derzeit ausgeführte, dann hat sie freie Fahrt, es gibt keine Blockaden - gibt es 1000 andere parallele Zugriffe, dann muß sie warten und bricht womöglich ab.
Kill hilft ja nur, wenn alle paar Sekunden ein Script alle Prozesse auf Laufzeitüberschreitungen überprüft.
Die Verbindungsparameter müßten dagegen in der Clientbibliothek definiert sein, also MyODBC oder ähnliches.