Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Още веднъж:Съхранена процедура срещу TV-UDF

Мисля, че сравнявате ябълки и портокали и аз поне никога не съм виждал дискусии по този въпрос. Има дискусии за това дали изобщо трябва да използвате UDF и има дискусии за това дали трябва да използвате запомнени процедури или ad hoc SQL.

Вграденият UDF е нещо, което можете да използвате в заявка, а съхранената процедура е нещо, което можете да изпълните и повечето от вашите точки са следствие от тази разлика.

Вграденият UDF прилича повече на изглед, отколкото на съхранена процедура. Параметризиран изглед, който може да се използва в заявки и може да понякога се използва за ускоряване на нещата .

Много бих искал да видя сценарий, при който вграден UDF и съхранена процедура правят едно и също нещо и имат различна производителност.

Ако съхранената процедура никога не записва нищо, няма разлика в заключването.

Не знам за хората, но за мен всичко е свързано с дискусията за съхранена процедура срещу ad hoc sql. Предпочитам съхранени процедури, други предпочитат ad hoc. Ако искате вместо да използвате дефинирани от потребителя функции от процедурите, в крайна сметка попадате в ad hoc sql лагера.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Съхранение на UTF-16/Unicode данни в SQL Server

  2. Хеширане на парола в SQL

  3. как да се покаже стойността на колоната само веднъж, ако се повтаря и е празна, докато в sql не дойде различна стойност

  4. Най-ефективният метод за откриване на промяна на колона в MS SQL Server

  5. Защо ISNUMERIC('.') връща 1?