Ho riscontrato un problema durante l'eliminazione di una tabella temporanea. L'account utente non ha il privilegio di "rilascio". Non voglio concedere questo privilegio per motivi di sicurezza. Ho provato a trovare un privilegio come "rilascia temporaneamente" ma non c'è. Sembra che l'unica opzione sia rimuovere tutte le istruzioni 'drop table'. So che le tabelle temporanee verranno automaticamente eliminate dopo la fine delle sessioni DB. Tuttavia, non sono sicuro se ci sono effetti collaterali che lasciano questo lavoro a MySQL. Per favore, consiglio.È necessario eliminare tabelle temporanee in mysql?
risposta
Le tabelle temporanee vengono eliminate automaticamente non appena si disconnette dal database
una tabella temporanea è visibile solo per la connessione corrente, e si interrompe automaticamente quando la connessione è chiusa
http://dev.mysql.com/doc/refman/5.1/en/create-table.html
Quindi - crearli, utilizzare e non disturbare la loro cancellazione
Se si utilizza un pool di connessione (hikari, c3p0, ecc.), Allora le connessioni sarà probabilmente aperto più a lungo di quanto ti aspetteresti, quindi fai attenzione. In questo caso potrebbe essere opportuno abbandonare manualmente tabelle temporanee. – Alden
@Alden ha senso configurare correttamente il software in modo che tutto funzioni come previsto. I creatori di pool di connessioni devono reimpostare la connessione sulla disconnessione del client. – zerkms
Utilizzerà lo spazio Ram della macchina corrente. Quindi l'idea migliore è rilasciare la tabella temporanea sul passaggio successivo, una volta esaurito il suo utilizzo
Se l'utente ha il privilegio CREA TABELLA TEMPORANEA, può eseguire DROP TABLE, INSERT, UPDATE e SELECT.
Si veda: https://dev.mysql.com/doc/refman/5.7/en/privileges-provided.html#priv_create-temporary-tables
- 1. Innodb e tabelle temporanee
- 2. Configurazione ottimale delle tabelle temporanee MySQL (tabelle di memoria)?
- 3. Tabelle temporanee in sql server
- 4. Tabelle temporanee in SQL Server?
- 5. Eliminazione di tabelle temporanee globali (## tempTable) in SQL Server
- 6. Differenza tra Tabelle e tabelle temporanee
- 7. Come creare tabelle temporanee univoche nelle procedure MySQL?
- 8. Ambito delle tabelle temporanee create nella procedura memorizzata MySQL
- 9. Creazione di tabelle temporanee in SQL
- 10. È possibile avere tabelle temporanee in una funzione?
- 11. È necessario eliminare QValidator manualmente?
- 12. Come eliminare tutte le tabelle in un database MySQL?
- 13. SQL Server/Oracle: tabelle temporanee private
- 14. T-SQL SQL dinamico e tabelle temporanee
- 15. Tabelle temporanee del server SQL vs cursori
- 16. Rimuovi tabelle temporanee da Apache SQL Spark
- 17. Come creare procedure temporanee in MySQL?
- 18. Sql server 2008, sono tabelle temporanee univoche
- 19. Dove vengono archiviate le tabelle temporanee nel server SQL?
- 20. eliminare da due tabelle in una query
- 21. Come eliminare le collezioni MapReduce temporanee in mongoDB
- 22. Le tabelle temporanee in SQL Server multiutente sono sicure?
- 23. Utilizzo di tabelle temporanee in IF .. Istruzioni ELSE
- 24. È meglio memorizzare informazioni ridondanti o unire tabelle quando necessario in MySQL?
- 25. Variabili temporanee in Mathematica
- 26. Quando è veramente necessario il Flush Privileges in MySQL?
- 27. Come eliminare tutta la tabella in MySQL?
- 28. Mysql eliminare vincolo
- 29. Impossibile accedere tabelle temporanee all'interno di una funzione
- 30. SQL Server: le tabelle temporanee o i sindacati sono migliori?
Come accennato qui, http://dev.mysql.com/doc/refman/5.1/en/privileges-provided.html#priv_create-temporary-tables _To mantenere i privilegi per la temporanea e tabelle non temporanee separate, una soluzione comune per questa situazione è creare un database dedicato all'uso di tabelle temporanee. Quindi per quel database, a un utente può essere concesso il privilegio CREATE TEMPORARY TABLES, insieme a qualsiasi altro privilegio richiesto per le operazioni temporanee della tabella eseguite da tale utente. – Lucky