sql >> Database teknologi >  >> RDS >> Sqlserver

SQL Server 2005 problem med ydeevne i den lagrede procedure

Nogle muligheder:

  • Hvad gør profiler eller SET STATISTICS xx ON sige? Er der simpelthen ressourcesult, siger CPU

  • Motoren beslutter, at statistik er forældet. Ændres tabellerne med 10 % ændring af rækkeantal (tommelfingerregel). For at teste:

    SELECT
        name AS stats_name, 
        STATS_DATE(object_id, stats_id) AS statistics_update_date
    FROM
        sys.stats 
    WHERE
        object_id IN (OBJECT_ID('relevanttable1'), OBJECT_ID('relevanttable2'))
    
  • Hvad sker der ellers på serveren? eksempel:Genopbygning af indeks:blokerer ikke, kun ressourcekrævende.

Normalt vil jeg foreslå parametersniffing, men du siger, at parametrene er de samme for hvert opkald. Jeg ville også forvente, at det ville ske oftere.



  1. Skal skalarvariabel @Id erklæres?

  2. mysql_num_rows() forventer, at parameter 1 er ressource, boolesk givet

  3. Databaseforbindelse eller godkendelsesfejl med Movable Type

  4. Udløs og opdater til en række i SQL Server, efter at den er blevet opdateret