Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

SQL:interrompendo uma consulta


Imho "interrompido" deve ser substituído por 'eliminado' ou 'terminado'. O conceito de interrupção pode ser confuso, pois pode-se presumir que permitiria que a consulta fosse retomada posteriormente.

O padrão SQL não fornece uma maneira de interromper ou encerrar uma consulta em execução, mas todos os DBMS que conheço implementam um comando KILL ou similar. Por exemplo, no MySQL um usuário pode usar SHOW [FULL] PROCESSLIST para visualizar todas as consultas em execução (e seus estados, IDs de consulta, etc). Os usuários com o privilégio KILL podem encerrar uma consulta.

A maioria dos KILLs acontece porque uma consulta corre o risco de ficar muito longa ou está bloqueando outras consultas, por exemplo. a tabela está faltando um índice ou o disco está cheio. Quando você não se importa com o resultado (por exemplo, navegação no site cancelada pelo usuário), muitas vezes o próprio servidor da web abortará o processo e, portanto, a consulta em si (sem necessidade de interação manual ou do programador)