Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

SQL Server 2008 R2 50 Daten gelöscht, 15-fache Query-Laufzeit hinterher

Mitglied: 70866

70866 (Level 1)

09.01.2013 um 16:54 Uhr, 2469 Aufrufe, 4 Kommentare

hab eine Datenbank in der Mangel, die 6 GB an Daten enthalten hat. Nach dem Löschen von ca. 50% des Datenbestandes benötigt die Query 240 Sekunden und nicht mehr 15 Sekunden

Ich bin mit meinem Latein am Ende....

Ich hab eine Datenbank in der Mangel, die 6 GB an Daten enthalten hat. Nach dem Löschen von ca. 50% des Datenbestandes benötigt die Query 240 Sekunden und nicht mehr 15 Sekunden.

Anhand des geschätzten Ausführungsplanes sehe ich, daß in der verkleinerten Datenbank ein ganz anderer Plan benutzt wird, obwohl die Resultate-Menge der Query gleich bleibt.

Ich habe erst einzelne Indizes mit hohen IO Kosten neu erstellt, dann die Statistiken aktualisiert, und zuguterletzt in einem Wartungsplan ALLE Indizes neu erstellt und danach ALLE Statistiken.

Was kann dazu führen, daß bei gesunkenem Datenbestand die Abfragezeit sich so dramatisch verändern kann obwohl das Resultat an sich gleich bleibt?

Es sind lediglich Daten gelöscht worden, die schon vorher nicht benötigt wurden. Selbst ein "Verkleinern der Datenbank" mit "Neuberechnung des freien Speicherplatzes 10%" hat nichts gebracht.

Über Tips wäre ich sehr dankbar.
Mitglied: Hitman4021
09.01.2013 um 17:08 Uhr
Hallo,

vl hast du Versehentlich Keys gelöscht?

Gruß
Bitte warten ..
Mitglied: Grinskeks
09.01.2013 um 18:07 Uhr
Hallo,

geringe Performance und ineffiziente Queries können viele Ursachen haben:

- "Schlechte" Indizes
- fragmentierte Datenbankdateien (oft verkleinert?? = logische Fragmentierung innerhalb der Dateien) -> Backup, löschen, Recovery
- geringere Serverperformance (virtueller Server? neue Dienste?) -> Performance counter (buffer cache hit ratio etc.)
- Durch Blockieren beeinträchtigte Abfragen -> einfach mal unten das Script ausführen
- Fehlerhafte Views -> alle mal mit Select * from Viewname aufrufen


Es macht durchaus auch Sinn, den Aktivitätsmonitor aktiv zu haben und schauen, ob die User sich nicht gegenseitig Transaktionen blockieren, indem sie Ressourcen sperren.

Wurde an den Isolation Leveln gespielt? Wurde testweise schon mal das Wiederherstellungsmodell auf Einfach gestellt?

Viel Erfolg!






SELECT TOP 10
[Average Time Blocked] = (total_elapsed_time - total_worker_time) / qs.execution_count
,[Total Time Blocked] = total_elapsed_time - total_worker_time
,[Execution count] = qs.execution_count
,[Individual Query] = SUBSTRING (qt.text,qs.statement_start_offset/2,
(CASE WHEN qs.statement_end_offset = -1
THEN LEN(CONVERT(NVARCHAR(MAX), qt.text)) * 2
ELSE qs.statement_end_offset END - qs.statement_start_offset)/2)
,[Parent Query] = qt.text
,DatabaseName = DB_NAME(qt.dbid)
FROM sys.dm_exec_query_stats qs
CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) as qt
ORDER BY [Average Time Blocked] DESC;
Bitte warten ..
Mitglied: 70866
10.01.2013 um 12:37 Uhr
danke für den Tip ...

1) ich war alleine
2) physischer SErver 16 CPUs 16 GB RAM
3) Indizes können nicht schlecht sein weil komplett neu erstellt
4) Statistiken sind neu erstellt

die Abfrage war aber mit als auch ohne aktualisierte Statistiken gleich langsam, der Grad der Indexfragmentierung war im Prozentbereich vor dem Neuaufbau, und erst ab 50% gibts Performanceverlust.
Bitte warten ..
Mitglied: Grinskeks
10.01.2013 um 21:29 Uhr
Hallo,

dann probiere doch folgendes:

Vor die Query:

Set statistics time on;
set statistics io on;

Query ausführen und Ergebnisse anschauen: Viel mehr physical reads / logical reads?

Ausführungsplan posten, dann sehen wir auch, um welche Indizes es sich handelt.

In wie weit hat sich der Plan verändert? Wurden Index Seeks durch Scans ersetzt? Kann normal sein bei "wenigen" Datensätzen. Hat sich die Struktur verändert? Dann hat der SQL Server einen womöglich schlechten Ausführungsplan gespeichert. Was hilft, ist Indizes zu löschen, die im Moment verwendet werden.


Es gibt auch Systeme, die zu häufig gewartet werden:

DBCC Best Practices Implementations

There are few DBCC commands to be avoided and few very crucial for system. Understand the usage of DBCC FREEPROCCACHE, DBCC SRHINKDATABASE, DBCC SHRINKFILE, DBCC DROPCLEANBUFFER, DBCC REINDEX, as well as the usage of few system stored procedures like SP_UPDATESTATS. If you are currently using any of the above mentioned and a few other DBCC maintenance task commands carefully review their usage.


Zusätzlich mal schauen, ob nicht zufällig irgendeine Auditierung, Filestream, oder andere, externe Prozesse auf den Server zugreifen.

Aus der Ferne ist immer ein wenig Glaskugel bei dem komplexen Thema - mehr Infos wären nicht schlecht.
Gruss
Grinskeks
Bitte warten ..
Ähnliche Inhalte
Windows Server
SQL Server 2008 R2
gelöst Frage von Marcel94Windows Server1 Kommentar

Hallo Zusammen, habe ein kleines Problem bezgl. einer SQL Server 2008 R2 Installation. Zu meiner Frage. Habe soweit alles ...

Datenbanken
SQL Server 2008 R2 iso
Frage von Doktore77Datenbanken6 Kommentare

Hallo zusammen, wir haben das Problem, das wir einen 2008 R2 SQL neu aufsetzen müssen. Die Lizenz ist vorhanden, ...

Microsoft

Update SQL server 2008 auf SQL server 2008 R2

Frage von LeptoptilusMicrosoft

Guten Tag ist das Update über die updateinstallation möglich? ist etwas besonderes zu beachten? bin für jede Hilfe dankbar!! ...

Datenbanken

SQL 2008 R2 Sicherungsstrategie

gelöst Frage von Looser27Datenbanken9 Kommentare

Moin allerseits, ich versuche gerade unseren SQL zu verbessern. Auf diesem laufen u.a. Datenbanken für unser CRM-System und die ...

Neue Wissensbeiträge
Google Android

Googles "Android Enterprise Recommended" für Unternehmen

Information von kgborn vor 2 StundenGoogle Android

Hier eine Information, die für Administratoren und Verantwortliche in Unternehmen, die für die Beschaffung und das Rollout von Android-Geräten ...

Sicherheit

Intel gibt neue Spectre V2-Microcode-Updates frei (20.02.2018)

Information von kgborn vor 3 StundenSicherheit

Intel hat zum 20. Februar 2018 weitere Microcode-Updates für OEMs freigegeben, um Systeme mit neueren Prozessoren gegen die Spectre ...

Microsoft
ARD-Doku - Das Microsoft Dilemma
Tipp von Knorkator vor 6 StundenMicrosoft2 Kommentare

Hallo zusammen, vor einigen Tagen lief in der ARD u.a. Reportage. Das Youtube Video dazu dürfte länger verfügbar sein. ...

Windows 10

Neue Sicherheitslücke in Windows 10 (Version 1709) durch Google öffentlich geworden

Information von kgborn vor 1 TagWindows 10

Vor ein paar Tagen haben Googles Sicherheitsforscher vom Projekt Zero eine Sicherheitslücke im Edge-Browser publiziert. Jetzt wurde eine weitere ...

Heiß diskutierte Inhalte
Windows Server
AD DS findet Domäne nicht, behebbar?
Frage von schapitzWindows Server36 Kommentare

Guten Tag, ich habe bei einem Kunden ein Problem mit den AD DS. Umgebung ist folgende: Windows Server 2016 ...

Router & Routing
LANCOM VPN CLIENT einrichten
Frage von Finchen961988Router & Routing27 Kommentare

Hallo, ich habe ein Problem und hoffe ihr könnt mir helfen, wir haben einen Kunden der hat einen Speedport ...

Router & Routing
ISC DHCP 2 Subnetze
gelöst Frage von janosch12Router & Routing15 Kommentare

Hallo, ich betreibe bei mir im Netzwerk einen ISC DHCP Server auf Debian, der DHCP verwaltet aktuell ein /24 ...

CPU, RAM, Mainboards
32 gb RAM zu wenig?
Frage von pcguyCPU, RAM, Mainboards13 Kommentare

Hallo zusammen, mein PC verfügt über 32GB Ram. Nun kriege ich bei grossen Dateien im Illustrator die Fehlermeldung das ...