Dün bir db field
türünü almak için bir senaryo aldık ve bunun temelini alanın açıklamasını yazmamız gerekti.Veritabanı İşlevi VS Vaka Açıklaması
Select (Case DB_Type When 'I' Then 'Intermediate'
When 'P' Then 'Pending'
Else 'Basic'
End)
From DB_table
Sanki bunu daha fazla yeniden kullanılabilir olacaktır çünkü bu durumda ifadenin yerine db işlevi yazmak önerdi.
ilginç parçasıdırSelect dbo.GetTypeName(DB_Type)
from DB_table
gibi, bizim geliştirici biri kullanılarak veritabanı işlevi Case statement
daha yavaş olan verimsizdatabase functions
gibi olacaktır söyledi. Verimlilik açısından daha iyi bir yaklaşım olan cevabı bulmak için internette araştırdım ama maalesef tatmin edici bir cevap olarak değerlendirilebilecek hiçbir şey bulamadım. Lütfen düşüncelerinle beni aydınlat, hangi yaklaşım daha iyi?
Bu 'dbo.GetTypeName (DB_Type)', aynı "CASE" ifadesine sahip mi? Yani: "CASE" ifadesinin doğrudan bir sorguya yazılması ile performans ve yeniden kullanılabilirlik açısından kullanıcı tanımlı bir işlev *** içine koymak arasındaki farkı soruyorsunuz. Sağ? –
Evet! Her şey aynı. –