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

Endnu en gang:Lagret procedure vs. TV-UDF

Jeg tror, ​​du sammenligner æbler og appelsiner, og jeg har i hvert fald aldrig set nogen diskussioner om dette. Der er diskussioner om, hvorvidt du overhovedet skal bruge UDF'er, og der er diskussioner om, hvorvidt du skal bruge lagrede procedurer eller ad hoc SQL.

En inline UDF er noget, du kan bruge i en forespørgsel, og en lagret procedure er noget, du kan udføre, og de fleste af dine punkttegn er en konsekvens af denne forskel.

En inline UDF ligner mere en visning end en lagret procedure. En parametriseret visning, der kan bruges i forespørgsler og kan bruges nogle gange til at fremskynde tingene .

Jeg vil meget gerne se et scenarie, hvor en inline UDF og lagret procedure gør det samme og har forskellig ydeevne.

Hvis den lagrede procedure aldrig skriver noget, er der ingen forskel i låsning.

Ved ikke med folk, men for mig handler det om diskussionen om lagret procedure vs ad hoc sql. Jeg foretrækker lagrede procedurer, andre foretrækker ad hoc. Hvis du vil bruge brugerdefinerede funktioner i stedet af procedurer, du ender i ad hoc sql-lejren.




  1. Undlader at bygge mysql connector/c (libmysql) fra kilden i cygwin

  2. Ef kerne 5 mange til mange filter

  3. Hvilken slags krypteringsmekanismer tilbyder SQL Server 2008 Standard?

  4. Sådan fjerner du dublerede kommaseparerede værdier i en enkelt kolonne i MySQL