從進程C#代碼移到SQL CLR函數有哪些限制,意外陷阱和性能特徵?將進程函數中的C#移動到SQL Server CLR函數
我們目前有幾個數據繁重的進程,在進程C#Asp.net MVC項目中運行速度非常快,根本不使用數據庫。性能非常重要。應用程序在內存緩存中使用靜態內存,並執行復雜的操作以獲得最終結果。高速緩存更新有點痛苦,我們正在考慮將這些進程中的一部分移到SQL Server查詢中,以便輸出最終結果,從而在c#應用程序級別需要更少的數據高速緩存。這些過程非常複雜,我們知道遷移到數據庫需要大量使用SQL Server CLR函數。
我們利用數據庫中看到很多的優點,但需要使用CLR函數給出的幾個原因暫停:
沒有天青: SQL CLR函數not supported by Azure,
高測試成本:的SQL CLR函數可能是慢,測試將採取顯著工作
小的用戶羣:谷歌搜索一小時發現,使用CLR功能有點不常見,這使得社區支持(以及可能的MS支持)成爲一個問題。
我很想聽到某位將C#應用程序從進程中移至CLR函數的人。
在你的答案中,請假定自定義的SQL CLR函數是必需的。
簡單的FTP部署一個沒有db的Asp.net應用程序很難放棄。我正在考慮db,因爲我們需要微調數據插入,更新刪除過程,這看起來像db領土。通常情況下,我們在專用的箱子裏,所以我們擁有全面的控制權,除非交通高峯迫使我們擴展到天藍色(我們目前所做的)。我認爲如果我們建立自己的AMI,我們可以使用亞馬遜峯值,但我不希望擺脫數據庫構建過程。 – Glenn 2010-09-30 15:22:22
我想知道是否可以嘗試在CLR上使用SQL Compact以實現更簡單的部署。SQL CLR論壇中的一個老問題似乎沒有說明http://social.msdn.microsoft.com/Forums/en-US/sqlnetfx/thread/7146b3ea-6c0d-499f-9176-b14d134bc5a5/ – Glenn 2010-09-30 15:38:15