2009-04-01 7 views
1

Ich bin gespannt, ob jemand weiß, wie die Daten physisch in Tabellen angeordnet sind, die keinen Index haben (nicht einmal eine PK). In diesem question behauptet das OP, dass es lange dauert, eine geclusterte PK zu löschen. Ich weiß, dass der gruppierte Index die Daten selbst ist, aber was wäre die neue Datenanordnung, die die lange Verarbeitungszeit erklärt?SQL Server physische Daten Layout für Tabellen ohne Indizes

Antwort

4

Es wird ein HEAP sein:

Eine Heap-Tabelle per definitionem ist eine Tabelle, die keinen Clustered-Indizes hat.

Verschiedene Seiten der Heap-basierten Tabelle belegen verschiedene nicht zusammenhängende Bereiche auf einer Festplatte, und sie sind in keiner Weise miteinander verknüpft.

Jeder in der Tabelle definierte nicht gruppierte Index hat einen entsprechenden Eintrag in einer Sysindexes-Tabelle mit einer Indid zwischen 2 und 254 und zeigt auf die erste Seite IAM (Index Allocation Map).

IAM Seiten stellen die verknüpfte Liste aller Seiten dar, die vom Datenbankobjekt (Tabelle oder Index) verwendet und von SQL Server zum Zuweisen und Freigeben von Speicherplatz verwendet werden.

Es ist wichtig zu wissen, dass IAM Seiten nicht zum Durchsuchen von Daten- oder Indexseiten verwendet werden, sondern nur zum Reservieren und Freigeben von Daten.

+0

Hmm der Link oben gibt mir einen 404. –

Verwandte Themen