在.NET應用程序,無論是窗口或Web應用程序,有效的方式來計算上DB數據值的數學函數
爲了執行不同的數學函數等SQRT,最大值,最小值,平均值,計數在較大的數據量。 使用存儲過程或使用迭代的正常程序邏輯。這是做這件事的最佳方式?
在.NET應用程序,無論是窗口或Web應用程序,有效的方式來計算上DB數據值的數學函數
爲了執行不同的數學函數等SQRT,最大值,最小值,平均值,計數在較大的數據量。 使用存儲過程或使用迭代的正常程序邏輯。這是做這件事的最佳方式?
我認爲最好的方法是使用stored procedure
。無論如何,只要您的表格被正確編入索引,所有內容都會很好。我推薦的另一個原因是因爲你的代碼是封裝在服務器中的。
感謝您的寶貴意見。 – 2012-08-07 06:16:33
對於較大的數據集,查詢或存儲過程通常更快。 SQL Server針對集合進行了優化,只要您保持在集合邏輯(SELECT,GROUP BY等)內即可。
如果你有一個循環的存儲過程,這是一個不同的故事,它不會更有效。 另外,在SQL中,您可能會有更乾淨/更少的代碼來對數據進行聚合。
感謝您的建議。對於不可用的內置聚合函數,我必須使用存儲過程或程序邏輯 – 2012-08-07 06:19:13
@Suresh如果您發現手動聚合計算速度太慢,可以在.NET中爲SQL Server創建自己的聚合函數。 http://msdn.microsoft.com/en-us/library/ms190678.aspx – Bas 2012-08-07 06:25:57
非常感謝。是否也有可能在Mysql數據庫中 – 2012-08-07 06:37:43
你真的需要MySQL和SQL Server的解決方案嗎? – 2012-08-07 06:19:33
是的,我需要這兩個數據庫。 – 2012-08-07 06:20:41