我有一個.net 3.5 windows應用程序。其中一個模塊使用Oracle存儲過程,它將記錄集返回給C#客戶端。在oracle存儲過程中使用CASE語句
我只是想知道哪一個是以下兩個[wrt中更好的方法。代碼可讀性和性能。]:
1.如果我在存儲過程(SP)本身寫入多個CASE語句,那麼記錄集計數大約是125.這裏,SP的代碼看起來有點混亂。但是積極的一面,返回到客戶端的行數較少。
2.如果我不使用CASE語句,那麼記錄集計數爲@ 375.在這種方法中,我將SP的「case」邏輯移動到C#middler層...可能使用LINQ /委託... 這裏,SP代碼更清晰,但返回的記錄數很高。
那麼,我應該採用方法1還是方法2?
感謝您的閱讀。
嗨,感謝您的評論......在這種情況下,「網絡帶寬,應用服務器週期消耗」這一論點同樣適用於胖客戶端.net應用程序。確定它會影響基於Web的應用程序。 – Jimmy 2010-10-22 18:22:39
@jimmy - 顯然,如果我們正在談論前端和數據庫位於同一臺物理機器上的應用程序,則影響會大大降低。但是 - 在我看來 - 這並不能扭轉「正確性」的平衡。 – APC 2010-10-22 20:52:16