Mysql
 sql >> Database >  >> RDS >> Mysql

MySQL (5.7) elimina le stored procedure tramite mysql.proc

Il diretto delete da procs table non sembra avere un effetto immediato nella sessione corrente di MySQL.

Il flush L'istruzione viene utilizzata in MySQL per fare in modo che il server ricarichi le cose (modificando i privilegi direttamente tramite aggiornamento / eliminazione e flush privileges è probabilmente la migliore analogia). Tuttavia, non sono riuscito a trovare alcuna versione di flush che influenzerebbe i processi archiviati in base alla documentazione. Quindi, non credo che ci sia un modo per rendere definitiva l'eliminazione del processo memorizzato nella sessione corrente di MySQL.

Il vero pericolo con il tuo approccio all'eliminazione diretta è che si basa su una funzionalità non documentata di MySQL. Questa funzionalità potrebbe cambiare senza alcun preavviso in una versione futura di MySQL, rendendo impossibile un aggiornamento. Inoltre, senza eseguire effettivamente il debug di MySQL stesso, è molto difficile dire se il tuo approccio ha effetti collaterali indesiderati.

Per questi motivi, non consiglierei di utilizzare questo approccio in un codice di produzione. Se si tratta di un esercizio una tantum, potresti farla franca.