sql >> Database >  >> RDS >> Mysql

SQL:een query onderbreken

Imho "onderbroken" moet worden vervangen door "gedood" of "beëindigd". Het concept van onderbreken kan verwarrend zijn, omdat men zou kunnen veronderstellen dat het de vraag later zou kunnen hervatten.

De SQL-standaard biedt geen manier om een ​​lopende query te onderbreken of te beëindigen, maar elke DBMS die ik ken, implementeert wel een KILL-opdracht of iets dergelijks. In MySQL kan een gebruiker bijvoorbeeld de SHOW [FULL] PROCESSLIST gebruiken om alle lopende query's te bekijken (en hun statussen, query-ID's, enz.). Gebruikers met het KILL-privilege kunnen dan een zoekopdracht beëindigen.

De meeste KILL's vinden plaats omdat een zoekopdracht te lang dreigt te duren of andere zoekopdrachten blokkeert, bijv. de tabel mist een index of de schijf is vol. Als het resultaat u niet interesseert (bijv. door de gebruiker geannuleerde sitenavigatie), zal de webserver vaak het proces zelf afbreken en daarmee de zoekopdracht zelf (geen handmatige of programmeerinteractie nodig)



  1. Mysql FIND_IN_SET in waar-clausule

  2. Rijen samenvoegen als array uit een andere tabel voor elke rij

  3. Entity Framework maakt een meervoudige tabelnaam, maar de weergave verwacht een enkelvoudige tabelnaam?

  4. Kan geen verbinding maken met SQL Server met PHP