Brent Ozar hat in seinem Blog eine Liste mit 15 Gründen veröffentlicht, die dazu führen können, dass eine Query im SQL Server plötzlich langsamer wird, als sie das bisher gewesen war - und in den Kommentaren wurden noch ein paar weitere Begründungen aufgeführt. Vor ein paar Jahren hatte Jonathan Lewis eine ähnliche Liste mit 20 Punkten für Oracle erstellt, für die mir Hemant Chitale via Twitter den passenden Link geliefert hat. Zu den aufgeführten Gründen gehören:
- veränderte Workload auf dem Server
- bind peaking/parameter sniffing
- veränderte Objektstatistiken
- veränderte Hardware (in der virtuellen Umgebung/Cloud)
- Anlage, Löschung, Neuaufbau von Indizes
- Trace-Operationen
- Patches
- veränderte Memory-Settings
- Plan-Management-Effekte
- Hint-Auswirkungen
- Locking-Effekte (Hot Blocks)
- Änderungen in konkurrierenden Operationen
Wie man sieht, habe ich nicht alle Punkte übernommen, aber letztlich sind die Ursachen in beiden RDBMS (und in allen anderen, die ich kenne) jeweils ähnlich.