Ho un dubbio Perché dovremmo usare la tabella temporanea c'è qualche cosa speciale nella tabella temporanea e dove dovremmo usare le tabelle temporanee. Puoi per favore spiegarmi o qualsiasi riferimento grazie.Tabelle temporanee in SQL Server?
risposta
Ci sono molti usi per le tabelle temporanee. Possono essere molto utili nella gestione dei dati in query complesse. La tua domanda è vaga, e in realtà non ha una risposta, ma sto collegando ad alcuni documenti temporanei della tabella.
Hanno la maggior parte delle stesse funzionalità della tabella, inclusi i vincoli e l'indicizzazione. Possono essere globali o limitati allo scopo attuale. Possono anche essere inefficienti, quindi sii cauto come sempre.
http://www.sqlservercentral.com/articles/T-SQL/temptablesinsqlserver/1279/
http://msdn.microsoft.com/en-us/library/aa258255%28SQL.80%29.aspx
Quando si scrive codice T-SQL, è spesso necessario un tavolo in cui archiviare i dati temporaneamente quando arriva il momento di eseguire quel codice. Sono disponibili quattro opzioni di tabella: tabelle normali, tabelle locali temporanee, tabelle temporanee globali e variabili di tabella. Ognuna delle quattro opzioni di tavolo ha il suo scopo e l'uso, e ognuno ha i suoi vantaggi e problematiche:
* Normal tables are exactly that, physical tables defined in your database.
* Local temporary tables are temporary tables that are available only to the session that created them. These tables are automatically destroyed at the termination of the procedure or session that created them.
* Global temporary tables are temporary tables that are available to all sessions and all users. They are dropped automatically when the last session using the temporary table has completed. Both local temporary tables and global temporary tables are physical tables created within the tempdb database.
* Table variables are stored within memory but are laid out like a table. Table variables are partially stored on disk and partially stored in memory. It's a common misconception that table variables are stored only in memory. Because they are partially stored in memory, the access time for a table variable can be faster than the time it takes to access a temporary table.
Quale usare:
* If you have less than 100 rows generally use a table variable. Otherwise use a temporary table. This is because SQL Server won't create statistics on table variables.
* If you need to create indexes on it then you must use a temporary table.
* When using temporary tables always create them and create any indexes and then use them. This will help reduce recompilations. The impact of this is reduced starting in SQL Server 2005 but it's still a good idea.
Please refer this page http://www.sqlteam.com/article/temporary-tables
tabelle temporanee può essere creato in fase di esecuzione e può eseguire tutti i tipi di operazioni che una normale tabella può eseguire. Ma, in base ai tipi di tabella, l'ambito è limitato. Queste tabelle sono create all'interno del database tempdb.
SQL Server fornisce due tipi di tabelle temporali in base al comportamento e all'ambito della tabella. Questi sono:
• tabella temporanea locale
• la tabella temporanea globale
locale Tabella Temp tabelle temporanee locali sono disponibili solo per la connessione corrente per l'utente; e vengono automaticamente cancellati quando l'utente si disconnette dalle istanze. Il nome della tabella temporanea locale è contrassegnato con il simbolo hash ("#"). Tabella temp globale Il nome delle tabelle temporanee globali inizia con un doppio cancelletto ("##"). Una volta che questa tabella è stata creata da una connessione, come una tabella permanente è quindi disponibile per qualsiasi utente tramite qualsiasi connessione. Può essere cancellato solo una volta che tutte le connessioni sono state chiuse.
Quando utilizzare le tabelle provvisorie?
• Quando si esegue un elevato numero di manipolazioni di riga nelle stored procedure. • Questo è utile per sostituire il cursore. Possiamo memorizzare i dati del set di risultati in una tabella temporanea, quindi possiamo manipolare i dati da lì. • Durante un'operazione di join complessa.
Punti da ricordare prima di utilizzare tabelle temporanee -
• tabella temporanea creata sul tempdb di SQL Server. Questo è un database separato. Quindi, questo è un overhead aggiuntivo e può causare problemi di prestazioni. • Il numero di righe e colonne deve essere il minimo necessario. • Le tabelle devono essere cancellate quando hanno finito con il loro lavoro.
approccio alternativo: Tabella variabile
alternativa di tabella temporanea è la variabile tabella che può fare tutti i tipi di operazioni che possiamo effettuare in tabella temp. Di seguito è riportata la sintassi per l'utilizzo della variabile Table.
Quando utilizzare tabella delle variabili sul tavolo di Temp -
Tablevariable è sempre utile per i meno dati. Se il set di risultati restituisce un numero elevato di record, dobbiamo andare alla tabella temporanea.