Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Słaba wydajność planu wykonania procedury składowanej w SQL - podsłuchiwanie parametrów

Zasadniczo tak - podsłuchiwanie parametrów (w niektórych wersjach poprawek) SQL Server 2005 jest mocno zepsute. Widziałem plany, które skutecznie nigdy się nie kończą (w ciągu kilku godzin na małym zestawie danych), nawet dla małych (kilka tysięcy wierszy) zestawów danych, które kończą się w kilka sekund po zamaskowaniu parametrów. I dzieje się tak w przypadkach, gdy parametr zawsze miał ten sam numer. Dodam, że w tym samym czasie, gdy miałem do czynienia z tym, znalazłem wiele problemów z nieukończeniem LEFT JOIN/NULLs i zastąpiłem je na NOT IN lub NOT EXISTS i to rozwiązało plan na coś, co by się zakończyło. Znowu (bardzo kiepski) problem z planem wykonania. W czasie, gdy miałem do czynienia z tym, administratorzy baz danych nie dawali mi dostępu do SHOWPLAN, a odkąd zacząłem maskować każdy parametr SP, nie miałem żadnych dalszych problemów z planem wykonania, w których musiałbym zagłębić się w to w przypadku nieukończenia .

W SQL Server 2008 możesz użyć OPTIMIZE FOR UNKNOWN .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Korzystanie z pamięci masowej Intel Optane w programie SQL Server

  2. Programowe tworzenie bazy danych w SQL Server

  3. 5 sposobów naprawienia błędu „Podziel przez zero” w programie SQL Server (Msg 8134)

  4. Grupuj według kolumny i wielu wierszy w jeden wiersz wiele kolumn

  5. Microsoft Access a SQL Server