sql >> Databasteknik >  >> RDS >> Mysql

SQL:Avbryter en fråga

Imho "avbruten" ska ersättas med "dödad" eller "avbruten". Konceptet med att avbryta kan vara förvirrande eftersom man skulle kunna anta att det skulle göra det möjligt för frågan att återupptas senare.

SQL-standarden tillhandahåller inget sätt att avbryta eller avsluta en pågående fråga, men varje DBMS jag känner till implementerar ett KILL-kommando eller liknande. Till exempel, i MySQL kan en användare använda VISA [FULLSTÄNDIG] PROCESSLISTA för att se alla pågående frågor (och deras tillstånd, fråge-ID, etc). Användare med KILL-privilegiet kan sedan avsluta en fråga.

De flesta DÖDA händer för att en fråga riskerar att köras för lång eller blockerar andra frågor, t.ex. tabellen saknar ett index eller så är disken full. När du inte bryr dig om resultatet (t.ex. avbruten webbplatsnavigering) kommer ofta webbservern själv att avbryta processen och därmed frågan i sig (ingen manuell eller programmeringsinteraktion krävs)



  1. Kan jag definiera flera händelser i en Trigger-deklaration i mysql?

  2. INSTR() Motsvarar i SQL Server

  3. Bas 36 till Base 10 konvertering med endast SQL

  4. Utför lagrad procedur från en funktion