sql >> Databáze >  >> RDS >> Mysql

SQL:Přerušení dotazu

Imho "přerušeno" by mělo být nahrazeno "zabito" nebo "ukončeno". Koncept přerušení může být matoucí, protože by se dalo předpokládat, že by to umožnilo pokračovat v dotazu později.

Standard SQL neposkytuje způsob, jak přerušit nebo ukončit běžící dotaz, ale každý DBMS, který znám, implementuje příkaz KILL nebo podobný. Například v MySQL může uživatel použít SHOW [FULL] PROCESSLIST k zobrazení všech běžících dotazů (a jejich stavů, ID dotazů atd.). Uživatelé s oprávněním KILL pak mohou dotaz ukončit.

K většině KILLŮ dochází, protože existuje riziko, že dotaz bude trvat příliš dlouho nebo blokuje jiné dotazy, např. v tabulce chybí index nebo je disk plný. Když vás výsledek nezajímá (např. uživatel zrušil navigaci na webu), často samotný webový server přeruší proces a tedy i dotaz sám o sobě (není nutná žádná ruční nebo programátorská interakce)



  1. Jak spustit soubor .sql pomocí powershell?

  2. Jak přesunout datové soubory na SQL Server – část 1

  3. Jedinečné klíče MyISAM jsou oříznuty na 64 bajtech, což způsobuje kolize

  4. Důležitost údržby databáze vyhovující HIPAA