ich eine PK Einschränkung haben - einen Clustered-Index auf zwei Säulen - die ich in dem Prozess bin fallen zu lassen. Der Befehl läuft noch nach einer Stunde. Ich hätte gedacht, dass, wenn ich gerade eine Beschränkung beseitige, die Operation fast augenblicklich wäre. Kann mir jemand erklären, was eigentlich unter der Haube passiert, wenn ich den PK ablege?Was passiert, wenn ich einen gruppierten Primärschlüssel in SQL Drop 2005
Antwort
Clustered-Index ist nicht „nur eine Einschränkung“, es ist ein Speicherverfahren.
Wenn Sie es fallen, werden Ihre Daten von Clustered-Storage zu Heap-Speicher ist
Andere Indizes aktualisiert werden statt PRIMARY KEY
Werte RID
‚s beziehen neu geordnet.
Der Clustered-Index ist die Daten, die die Zeit erklären würde, die es dauert zu laufen.
Ein "CLUSTERED" -Index wird physikalisch schreiben Sie die Datensätze Ihrer Tabelle in der Reihenfolge auf der Festplatte. Wenn Sie also diesen Index löschen oder ändern, würde SQL Server wahrscheinlich dazu führen, dass Ihre Festplatte defragmentiert (neu geordnet) wird (zumindest der Teil, der die Daten für diese Tabelle enthält).
Bitte beachten Sie, dass diese Antwort nicht perfekt technische ... aber es soll Sie geben Antwort „Oh, das ist ein bisschen was geschieht“, die als gut genug in der Regel weit mehr ist.
- 1. Datenbank: Primärschlüssel, gruppierten oder nicht gruppierten
- 2. Sind Primärschlüssel in nicht gruppierten Indizes verfügbar?
- 3. Was passiert, wenn ich einen Zeiger zurückgebe?
- 4. Wie gruppierten Eigenschaft fällt aber Primärschlüssel in einer Tabelle halten. SQL Server 2005
- 5. Gibt es eine Möglichkeit, einen nicht gruppierten Index für einen Primärschlüssel in einen gruppierten zu konvertieren? (SQL Server 2008)
- 6. Was passiert, wenn ich SCOPE_IDENTITY() nach einer fehlgeschlagenen Einfügung (SQL Server 2005) auswähle
- 7. Was passiert in JavaScript, wenn ich nie einen Rückruf anrufe?
- 8. In Akka, was passiert, wenn ich() einen toten ActorRef beobachte?
- 9. SQL 2005 SMO - Referenztabelle finden
- 10. Was passiert in SQL 2005, wenn es für eine Autonummer-Spalte keine Nummern mehr gibt?
- 11. SQL Server 2005-Drop-Spalte mit Einschränkungen
- 12. Primärschlüssel wird immer in SQL Server indiziert?
- 13. Wie speichert SQL Server einen zusammengesetzten Primärschlüssel?
- 14. Was passiert, wenn NSTimer in
- 15. Was passiert, wenn ich mit einem Primärschlüssel umgehen muss, der String.Empty in vb.net entspricht?
- 16. Was passiert, wenn ich einen Index für eine Spalte erstelle?
- 17. Was passiert, wenn ich vergesse, einen Scanset zu schließen?
- 18. Wie eine benutzerdefinierte alphanumerischen Primärschlüssel in SQL Server 2005 erstellen
- 19. Was passiert, wenn make_shared
- 20. Was passiert, wenn ich eine AliasProperty anbinde?
- 21. Was passiert, wenn veröffentlicht
- 22. Was Anweisung using passiert, wenn ich Injektion
- 23. Was passiert, wenn ich eine Ausnahme erstelle?
- 24. Was passiert, wenn ich web.config bearbeite?
- 25. Was passiert, wenn ich mehrere Male request
- 26. Was passiert, wenn ich "BufferStrategy.show()" anrufe?
- 27. Was passiert, wenn ich DOES zweimal anrufe?
- 28. Was passiert, wenn der DB-Engine keine Nummern mehr für Primärschlüssel zur Verfügung stehen?
- 29. Was passiert eigentlich, wenn ApplicationCommands.Close
- 30. SQL: Was ist bedeutet das UNIQUE, wenn ein Primärschlüssel
Können Sie bitte erweitern? Durch das Löschen der pk-Einschränkung für den Clustered Index werden die Daten nicht gelöscht (zumindest habe ich Probleme, wenn dies der Fall ist). Meinst du, dass die Daten neu geordnet werden? –
Der gruppierte Index bestimmt, wie die Daten physisch angeordnet sind. Wenn Sie es ablegen, werden die Daten neu geordnet - aber nicht gelöscht, keine Sorgen. –
Ok. Also warum sollte es das neu arrangieren? Wenn ich keine Bestellung vorgebe, warum macht es dann keinen Sinn, sich selbst zu entscheiden? –