sql >> Database >  >> RDS >> Sqlserver

SQL slechte prestaties van het uitvoeringsplan voor opgeslagen procedures - parameter snuiven

In principe ja - het snuiven van parameters (in sommige patchniveaus van) SQL Server 2005 is ernstig defect. Ik heb plannen gezien die in feite nooit voltooid zijn (binnen enkele uren op een kleine gegevensset), zelfs niet voor kleine (enkele duizenden rijen) gegevenssets die in seconden voltooid zijn zodra de parameters zijn gemaskeerd. En dit is in gevallen waarin de parameter altijd hetzelfde nummer is geweest. Ik zou hieraan willen toevoegen dat ik op hetzelfde moment dat ik hiermee te maken had, veel problemen vond met LEFT JOIN/NULL's die niet voltooiden en ik verving ze door NOT IN of NOT EXISTS en dit loste het plan op tot iets dat zou worden voltooid. Nogmaals, een (zeer slecht) uitvoeringsplan. Op het moment dat ik hiermee te maken had, gaven de DBA's me geen SHOWPLAN-toegang, en sinds ik begon met het maskeren van elke SP-parameter, heb ik geen verdere problemen met het uitvoeringsplan gehad waarbij ik me hierin zou moeten verdiepen voor niet-voltooiing .

In SQL Server 2008 kunt u OPTIMIZE FOR UNKNOWN . gebruiken .



  1. Hoe het schema van meerdere PostgreSQL-tabellen in één bewerking te wijzigen?

  2. Hoe de tabelstructuur in Oracle wijzigen?

  3. Hoe vindt u de uitvoeringstijd van query's in Oracle SQL Developer?

  4. MySQL-installatie