2010-04-30 20 views
5

Ich habe einen Zweifel Warum sollten wir temporäre Tabelle verwenden, gibt es eine spezielle Sache in der temporären Tabelle und wo sollten wir die temporären Tabellen verwenden. Können Sie mir bitte erklären, oder irgendein Hinweis danke.Temporäre Tabellen in SQL Server?

Antwort

4

Es gibt viele Anwendungen für temporäre Tabellen. Sie können bei der Verarbeitung von Daten in komplexen Abfragen sehr nützlich sein. Ihre Frage ist vage und hat keine wirkliche Antwort, aber ich verlinke zu einer temporären Tabellendokumentation.

Sie haben die meisten der gleichen Fähigkeiten der Tabelle, einschließlich Einschränkungen und Indizierung. Sie können global oder auf den aktuellen Umfang beschränkt sein. Sie können auch ineffizient sein, also seien Sie vorsichtig wie immer.

http://www.sqlservercentral.com/articles/T-SQL/temptablesinsqlserver/1279/
http://msdn.microsoft.com/en-us/library/aa258255%28SQL.80%29.aspx

11

Wenn T-SQL-Code zu schreiben, müssen Sie häufig eine Tabelle, in der vorübergehenden Daten zu speichern, wenn es darum geht, diesen Code auszuführen. Sie haben vier Tabellenoptionen: normale Tabellen, lokale temporäre Tabellen, globale temporäre Tabellen und Tabellenvariablen. Jeder der vier Tabellenoptionen hat seinen eigenen Zweck und Verwendung, und jeder hat seine Vorteile und Probleme:

* 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. 

, welche zu benutzen:

* 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

2

Temporäre Tabellen kann zur Laufzeit erstellt werden und kann alle Arten von Operationen ausführen, die eine normale Tabelle ausführen kann. Basierend auf den Tabellentypen ist der Umfang jedoch begrenzt. Diese Tabellen werden in der Tempdb-Datenbank erstellt.

SQL Server stellt zwei Typen von temporären Tabellen basierend auf dem Verhalten und dem Bereich der Tabelle bereit. Diese sind:

Lokale Temp-Tabelle

Globale Temp-Tabelle

Lokale Temp-Tabelle Lokale temporäre Tabellen sind nur für die aktuelle Verbindung für den Benutzer; und sie werden automatisch gelöscht, wenn der Benutzer die Verbindung zu Instanzen trennt. Der Name der lokalen temporären Tabelle wird mit dem Hash-Zeichen ("#") angezeigt. Globale Tempentabelle Der Name der globalen temporären Tabellen beginnt mit einem doppelten Hash ("##"). Sobald diese Tabelle durch eine Verbindung erstellt wurde, ist sie wie eine permanente Tabelle für jeden Benutzer über jede Verbindung verfügbar. Es kann nur gelöscht werden, nachdem alle Verbindungen geschlossen wurden.

Wann temporäre Tabellen verwenden?

• Wenn eine große Anzahl von Zeilen in gespeicherten Prozeduren manipuliert wird. • Dies ist nützlich, um den Cursor zu ersetzen. Wir können die Ergebnisdaten in einer temporären Tabelle speichern, dann können wir die Daten von dort bearbeiten. • Wenn wir eine komplexe Join-Operation haben.

Punkte Vor der Verwendung temporärer Tabellen zu erinnern -

• Temporäre Tabelle auf tempdb von SQL Server erstellt. Dies ist eine separate Datenbank. Dies ist ein zusätzlicher Aufwand und kann zu Leistungsproblemen führen. • Die Anzahl der Zeilen und Spalten muss so niedrig wie nötig sein. • Tabellen müssen gelöscht werden, wenn sie mit ihrer Arbeit fertig sind.

alternativer Ansatz: Tabelle Variable-

Alternative der temporären Tabelle ist die Tabelle Variable, die alle Arten von Operationen durchführen können, die wir in Temp-Tabelle durchführen können. Im Folgenden finden Sie die Syntax für die Verwendung der Tabellenvariablen.

Wenn Tabelle Variable Over Temp-Tabelle verwenden -

Tablevariable für weniger Daten immer hilfreich ist. Wenn die Ergebnismenge eine große Anzahl von Datensätzen zurückgibt, müssen wir nach der temporären Tabelle suchen.

Verwandte Themen