Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi SQL Server: Indizes automatisch neu organisieren/neu erstellen? (https://www.delphipraxis.net/188728-sql-server-indizes-automatisch-neu-organisieren-neu-erstellen.html)

romber 31. Mär 2016 13:01

Datenbank: SQL Server • Version: 2012 • Zugriff über: ADO/UniDAC

SQL Server: Indizes automatisch neu organisieren/neu erstellen?
 
Hallo!

Ich habe eine MS SQL Server Datenbank, die sehr intensiv benutzt wird (ungefähr gleichermassen für Lesen und Schreiben). Mehrere Indizes sind gesetzt. Ich habe bemerkt, dass die Fragmentierung mancher Indizes bereits einige Stunden nach der Reorganisierung bzw. Neuerstellung schon bei über 50% liegt. Ich überlege mir einen Agent-Aufrag zu erstellen, der regelmässig die Fragmentierung erfragt und bei Bedarf die Indizes neu organisiert bzw. neu erstellt. Bevor ich das mache möchte ich aber wissen, ob es vielleicht eine bessere fertige Aternative dafür gibt.

Ich habe auch bemerkt, dass die Datenbank während der Neuerstellung der Indizes stark "gebremst" wird. Gibt es eine Methode, die Indizes mit minimaler Beinträchtigung der DB-Performace zu reorganisieren bzw. neu zu erstellen?

Danke!

jobo 31. Mär 2016 13:11

AW: SQL Server: Indizes automatisch neu organisieren/neu erstellen?
 
Welche Möglichkeiten der Server selbst bietet, weiß ich nicht, da ich mit aktuellen Versionen keine Erfahrung habe.
Grundsätzlich nur da wo nötig, Indizes anlegen. Notfalls prüfen (Ausführungspläne), ob Indizes überhaupt wie gedach genutzt werden. Neuerstellung/Defragmentierung ebenfalls nicht wahllos, sondern nur bei "heißen" Indizes. U.U. erst dann, wenn eine "Betriebsflaute" ist.
Ggf. die Indexoptionen im physikalischen Bereich durchgehen und schauen, ob man einer Fragmentierung vorbeugen kann, sprich etwas "Platz freihalten".
Letztlich sind würde ich bei einem aktzeptablen Laufzeitverhalten (User Experience) keine Änderung im laufenden Betrieb machen, wenn es (die User Experience) dadurch akut schlechter wird oder die Defragmentierung gar keinen spürbaren Performancegewinn hergibt (weil die Defragmentierung gar nicht so gravierende Auswirkungen in der Praxis hat).

nahpets 31. Mär 2016 13:58

AW: SQL Server: Indizes automatisch neu organisieren/neu erstellen?
 
1. Was Jobo schreibt beachten.

2. Per Dienst / Taskplaner... Reorganisation auf die Nacht verlegen.

Sicherstellen, dass die Reorganisation nicht zeitgleich mit der nächtlichen Datensicherung läuft oder mit sonstigen nächtlichen Datenbankaktivitäten kollidiert.

Lösungsansatz eventuell hier? how to schedule a job for sql query to run daily?

hoika 31. Mär 2016 19:08

AW: SQL Server: Indizes automatisch neu organisieren/neu erstellen?
 
Hallo,

http://geekswithblogs.net/robz/archi...eorganize.aspx

Den Fill-Factor muss man ausprobieren, 90% finde ich ziemlich hoch.


Heiko

p80286 1. Apr 2016 10:36

AW: SQL Server: Indizes automatisch neu organisieren/neu erstellen?
 
Falls Stephans Link "404" sagt:http://stackoverflow.com/questions/5...y-to-run-daily

Gruß
K-H


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:31 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz