sql >> Database >  >> RDS >> Sqlserver

Nogmaals:Opgeslagen procedure vs. TV-UDF

Ik denk dat je appels met peren aan het vergelijken bent en ik heb er in ieder geval nog nooit discussies over gezien. Er zijn discussies over of je UDF's wel moet gebruiken en er zijn discussies over of je opgeslagen procedures of ad-hoc SQL moet gebruiken.

Een inline UDF is iets dat u in een query kunt gebruiken en een opgeslagen procedure is iets dat u kunt uitvoeren en de meeste van uw opsommingstekens zijn een gevolg van dat verschil.

Een inline UDF lijkt meer op een weergave dan op een opgeslagen procedure. Een geparametriseerde weergave die kan worden gebruikt in query's en kan worden soms gebruikt om dingen te versnellen .

Ik zou graag een scenario zien waarin een inline UDF en opgeslagen procedure hetzelfde doen en verschillende prestaties hebben.

Als de opgeslagen procedure nooit iets schrijft, is er geen verschil in vergrendeling.

Ik weet niets over mensen, maar voor mij gaat het allemaal om de discussie over opgeslagen procedures versus ad hoc sql. Ik geef de voorkeur aan opgeslagen procedures, andere geven de voorkeur aan ad hoc. Als u door de gebruiker gedefinieerde functies wilt gebruiken in plaats daarvan van procedures beland je in het ad hoc sql-kamp.




  1. Overlappende boekings-SQL

  2. Sorteer op alias in mysql in if query

  3. MySQL Left Joins:selecteer alles uit één tabel, maar pas de waarde in de tweede tabel met criteria aan

  4. Witruimte in een databaseveld wordt niet verwijderd door trim()