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

Wydajność serwera SQL:co jest szybsze, procedura składowana czy widok?

Procedury składowane (SP) i widoki SQL to różne „bestie”, jak kilkakrotnie wspomniano w tym poście.

Jeśli wykluczymy niektóre [zazwyczaj drobne, z wyjątkiem przypadków marginalnych] kwestie dotyczące wydajności związane z buforowaniem planu zapytania, czas związany z wiązaniem z procedurą składowaną itp., dwa podejścia są w sumie równoważne, wydajność- mądry. Jednak...

Widok jest ograniczony do wszystkiego, co można wyrazić w pojedynczej instrukcji SELECT (no, może z CTE i kilkoma innymi sztuczkami), ale ogólnie widok jest powiązany z deklaratywnymi formami zapytań . Procedura składowana po drugiej stronie może używać różnych konstrukcji typu proceduralnego (a także deklaratywne), dzięki czemu przy użyciu SP można ręcznie wypracować sposób rozwiązania danego zapytania, który może być bardziej wydajny niż to, co mógł zrobić optymalizator zapytań SQL-Server (na podstawie pojedynczego zapytania deklaratywnego). W takich przypadkach SP może być znacznie szybszy (ale uważaj... optymalizator jest całkiem sprytny i nie trzeba wiele, aby SP był znacznie wolniejszy niż odpowiedni widok).

Oprócz tych rozważań dotyczących wydajności, dostawcy usług są bardziej wszechstronni i umożliwiają szerszy zakres zapytań i działań niż widoki.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Przekroczono limit czasu zapytania SQL Server w zależności od klauzuli Where

  2. Jak programowo ustawić parametry połączenia dla Entity-Framework Code-First?

  3. Mutex analogowy w SQL?

  4. Z SPRAWDŹ OGRANICZENIE, a następnie SPRAWDŹ OGRANICZENIE vs. DODAJ OGRANICZENIE

  5. Jak zmienić nazwę kolumny lub nazwę tabeli w SQL Server — samouczek SQL Server / T-SQL, część 36