Wenn ich einen gruppierten Index auf einer Tabelle habe, ist es sicher zu löschen, und wenn ich es tue, verlässt es die geordnete Tabelle die gleiche Weise wie es war, während indiziert?Ist es sicher, einen Clustered-Index in SQL Server zu löschen?
Antwort
Es ist immer sicher, technisch zu löschen, aber ob es in einer Design/Architektur/Performance-Perspektive sinnvoll ist, können wir nicht sagen.
Die Daten werden in der Reihenfolge auf der Festplatte bleiben, bis Update/Inserts passieren, aber bitte verlassen Sie sich überhaupt nicht darauf. Die Ausgabe ist nur gewährleistet, wenn Sie eine ORDER BY im äußersten SELECT
Wenn es sicher ist, es zu löschen (solange die Datenintegrität betroffen ist und der Index nicht UNIQUE
ist).
Wenn Sie einen CLUSTERED
Index löschen, wird die Tabelle Heap organisiert (i. E. Die Tabellenzeilen sind nicht Teil eines B-Tree
mehr), und alle anderen Indizes werden anstelle der index value + uniquifier
-RID
s beziehen umgebaut.
Beachten Sie, dass die Tabelle anfänglich nicht "bestellt" wird. Wenn Sie diese Abfrage ausführen:
SELECT *
FROM mytable
werden die Zeilen nicht in den Index kommen, um garantiert, wenn Sie ORDER BY
-Klausel verwenden.
- 1. Ist es sicher, das zu löschen?
- 2. __RefactorLog-Tabelle in SQL Server - sicher, es fallen zu lassen?
- 3. Überprüfen Sie, ob es sicher ist, eine Zeile zu löschen
- 4. Ist es sicher, Druids Ordner zu löschen? Var/tmp
- 5. Ist es sicher, Varchar und Char in Nvarchar und Nchar in SQL Server zu konvertieren?
- 6. Ist es sicher zu werfen volatile?
- 7. Ist es sicher, einen Handle mit CloseHandle "doppelt zu schließen"?
- 8. Ist es in Ordnung, SQL-Statistiken zu löschen?
- 9. Ist es sicher, SQL-Datenbank auf meinen PC zu exportieren?
- 10. Ist es möglich, einen Parameter zu übergeben, der in der SQL Server-Datenbank ausgelöst wird?
- 11. Ist es sicher, ein POD-Objekt durch einen Zeiger auf seine Basis zu löschen?
- 12. Optimierung Löschen auf SQL Server
- 13. SQL Server-Datenbank löschen
- 14. Ist es möglich, einen neuen T-SQL-Operator mit CLR-Code in SQL Server zu erstellen?
- 15. Ist es sicher, einen temporären std :: shared_ptr zu dereferenzieren?
- 16. Es muss eine Möglichkeit geben, Daten in SQL Server zu löschen, ohne das Protokoll zu überlasten.
- 17. Gibt es einen SQL Server Profiler für SQL Server Express?
- 18. Ist es sicher, Makroaufrufe zu verschachteln?
- 19. Ist Taskskill sicher, einen Prozess zu schließen?
- 20. SQL Server Fragmentierung Probleme
- 21. Ist es sicher, einen replizierenden MySQL-Prozess zu beenden, der 'in tmp-Tabelle kopiert' ist?
- 22. Ist es sicher, hypot() zu kaskadieren?
- 23. Meteor - Wie sicher ist es?
- 24. Ist es sicher/möglich, Code aus der Tabelle dba_source in Oracle 10g zu löschen?
- 25. Löschen von SQL-Server-Datenbank
- 26. Ist es sicher, Capistrano zu benutzen?
- 27. Ist es sicher, BenutzerregEx zu verwenden?
- 28. Wann ist es sicher, .toString() zu verwenden?
- 29. Ist es möglich, einen DBLink in SQL Server 2005 in C# programmgesteuert zu erstellen?
- 30. Subversion, ist es sicher, MergeInfo von einer Reintegratzusammenführung zu entfernen
dank verwenden. Ich teste eine Kopie einer Produktionsdatenbank. Ich möchte alle Indizes in der aktuellen Datenbank löschen (eine nicht indizierte Basislinie erstellen) und mein eigenes Indexskript erneut anwenden, bis ich die leistungsstärksten Indizes gefunden habe. – djangofan