Wenn ich eine Tabellenspalte mit Daten habe und einen Index für diese Spalte erstelle, nimmt der Index den gleichen Speicherplatz wie die Spalte selbst?Verwenden DB-Indizes den gleichen Speicherplatz wie Spaltendaten?
Ich bin interessiert, weil ich versuche zu verstehen, ob B-Bäume tatsächlich Kopien von Spaltendaten in Blattknoten behalten oder sie irgendwie darauf zeigen?
Entschuldigung, wenn dies eine "Wird Java XML ersetzen?" freundliche Frage.
UPDATE:
eine Tabelle mit einer einzigen GUID Spalte ohne Index erstellt, hinzugefügt 1M Reihen - 26MB
derselben Tabelle mit einem Primärschlüssel (Clustered-Index) - 25MB (noch weniger!), Indexgröße - 176KB
gleiche Tabelle mit einem eindeutigen Schlüssel (nicht gruppierten Index) - 26MB, Indexgröße - 27MB
Daher benötigen nur Nonclustered-Indizes so viel Speicherplatz wie die Daten selbst.
Alle Messungen wurden in SQL Server 2005
Ist es eine Art Clustered-Index? – Anton
Ich denke, Clustered-Indizes speichern die tatsächlichen Daten, da Clustered-Indizes auf die gleiche Weise wie Daten sortiert sind. – Valentin
Ja, IOT ähnelt einem gruppierten Index. Die Zeile in der Tabelle wird physisch neu geordnet. Hervorragende Leistung, um Daten abzufragen, aber langsamer einzufügen. – ewernli