Select the product you need help with
INF: Häufig gestellte Fragen - SQL Server 2000 - TabellenvariablenArtikel-ID: 305977 - Produkte anzeigen, auf die sich dieser Artikel bezieht Dieser Artikel ist eine Übersetzung des folgenden englischsprachigen Artikels der Microsoft Knowledge Base: 305977
(http://support.microsoft.com/kb/305977/EN-US/
)
INF: Frequently Asked Questions - SQL Server 2000 - Table VariablesBitte beachten Sie: Bei diesem Artikel handelt es sich um eine Übersetzung aus dem Englischen. Es ist möglich, dass nachträgliche Änderungen bzw. Ergänzungen im englischen Originalartikel in dieser Übersetzung nicht berücksichtigt sind. Die in diesem Artikel enthaltenen Informationen basieren auf der/den englischsprachigen Produktversion(en). Die Richtigkeit dieser Informationen in Zusammenhang mit anderssprachigen Produktversionen wurde im Rahmen dieser Übersetzung nicht getestet. Microsoft stellt diese Informationen ohne Gewähr für Richtigkeit bzw. Funktionalität zur Verfügung und übernimmt auch keine Gewährleistung bezüglich der Vollständigkeit oder Richtigkeit der Übersetzung. Zusammenfassung
Dieser Artikel beantwortet einige der häufig gestellten Fragen zu Tabellenvariablen, die in SQL Server 2000 eingeführt wurden.
Die Beschreibung von Tabellenvariablen in der SQL Server-Onlinedokumentation finden Sie auf folgender Microsoft-Website: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/tsqlref/ts_ta-tz_7ysl.asp
(http://msdn.microsoft.com/library/default.asp?url=/library/en-us/tsqlref/ts_ta-tz_7ysl.asp)
Weitere InformationenF1: Warum wurden Tabellenvariablen eingeführt, obwohl bereits temporäre Tabellen zur Verfügung standen?
A1: Tabellenvariablen haben gegenüber temporären Tabellen die folgenden Vorteile:
A2: Der folgende Artikel behandelt einige Gründe für die Neukompilierung gespeicherter Prozeduren: 243586
Der Abschnitt "Kompilierung aufgrund bestimmten temporären Tabellenoperationen" führt einige Voraussetzungen auf, die zu beachten sind, um eine Neukompilierung wegen temporärer Tabellen zu vermeiden. Diese Voraussetzungen gelten nicht für Tabellenvariablen.
(http://support.microsoft.com/kb/243586/DE/
)
Beheben eines Kompilierung der gespeicherten Prozedur
Tabellenvariablen sind vollständig isoliert gegenüber dem Batch, der sie erstellt. Das bedeutet, dass bei einer CREATE- oder ALTER-Anweisung keine 'Neuauflösung' stattfinden muss, was bei einer temporären Tabelle der Fall sein kann. Temporäre Tabellen benötigen diese 'Neuauflösung', damit aus einer geschachtelten gespeicherten Prozedur auf die Tabelle verwiesen werden kann. Tabellenvariablen vermeiden dies vollständig, d. h., gespeicherte Prozeduren können einen bereits kompilierten Plan verwenden und so Ressourcen zur Verarbeitung der gespeicherten Prozedur einsparen. F3: Welche Nachteile haben Tabellenvariablen? A3: Hier einige Nachteile von Tabellenvariablen gegenüber temporären Tabellen:
A4: Eine Tabellenvariable ist keine nur im Arbeitsspeicher befindliche Struktur. Da eine Tabellenvariable mehr Daten enthalten kann, als in den Speicher passen, benötigt sie einen Platz für die Datenbank auf der Festplatte. Tabellenvariablen werden wie temporäre Tabellen in der Datenbank tempdb erstellt. Wenn Speicherplatz verfügbar ist, werden sowohl Tabellenvariablen als auch temporäre Tabellen erstellt und verarbeitet, während sie sich im Speicher befinden (Datencache). F5: Muss ich Tabellenvariablen anstelle von temporären Tabellen verwenden? A5: Die Antwort hängt von den folgenden drei Faktoren ab:
Im Allgemeinen verwenden Sie Tabellenvariablen, wann immer dies möglich ist, außer bei großem Datenvolumen und wiederholter Verwendung der Tabelle. In diesem Fall können Sie Indizes für die temporäre Tabelle erstellen, um die Abfrageleistung zu erhöhen. Jedoch kann jedes Szenario anders aussehen. Microsoft empfiehlt zu testen, ob Tabellenvariablen für eine bestimmte Abfrage oder gespeicherte Prozedur geeigneter sind als temporäre Tabellen. Haben Sie keine Antworten auf Ihre Fragen gefunden? Besuchen Sie in diesem Fall bitte die deutsche Microsoft SQL Server-Newsgroup unter der folgenden Adresse: Microsoft SQL Server-Newsgroups
(http://support.microsoft.com/newsgroups/)
Möchten Sie uns Ihre Meinung zu diesem oder anderen Knowledge Base-Artikeln zu Microsoft SQL Server mitteilen? Hinterlassen Sie uns eine Nachricht mit Ihrer Meinung unter: SQLKB@Microsoft.com
(mailto:sqlkb@microsoft.com)
EigenschaftenArtikel-ID: 305977 - Geändert am: Montag, 20. November 2006 - Version: 5.1
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.
| SPRACHE AUSWÄHLEN
|


Zum Anfang








