C 調優的一點想法

2021-09-02 19:18:45 字數 1062 閱讀 8177

這兩天一直在做c#程式,目的是將某個表的資料經過儲存過程處理後再轉移到另外一張表中。

開始的時候寫了兩個儲存過程,乙個儲存過程處理單筆資料,另乙個儲存過程查詢資料後逐筆進行迴圈呼叫前面的儲存過程,這樣執行下來發現一筆需要500ms這樣的速度處理50w資料需要將近3天的時間,真是難於接收啊!那麼真麼辦呢?

一般程式執行滿有三個方面的原因:第一當然是程式本身寫的好不好;第二是程式執行的軟體環境;第三就需要考慮硬體的瓶頸問題了。

基於這個思路首先考慮自己的程式優化:這種儲存過程呼叫方式,主要是一些sql的拼接與執行,說白了就是看看sql的執行快慢已經鎖的問題,sqlserver有專門的資料庫效能檢視工具,開啟步驟如下:

開啟「活動與監視器「可以看到下面的情況:資源使用情況和sql執**況

上圖主要是看紅圈中的兩個指標,乙個執行的次數乙個是執行的時間,對於執行次數多且平均時間較長的sql進行優化,經過優化後效能得到了提高由原來的單筆400ms減少到了80ms,但是這樣總共就壓縮到11.5個小時了。

下來將輪詢執行的儲存過程修改為c#多執行緒執行程式,通過執行發現平均減少到33ms;

再執行過程中通過檢視資源管理器發現vs預設編譯的程式為32位(進行了下圖調整後平均時間30ms),如下圖:

然後進入vs對程式重新編譯,具體設定如下:

第二檢查軟體環境;通過資料資源情況保證有足夠的記憶體和cpu使用空間;

關於系統軟體和硬體的調整還需要繼續研究。

最近一點想法

本來計畫每天11點半之前睡覺,事實證明不太可能每天那麼規律。一是,每週任務不會順利按計畫進行。二是,我本人有時候凌晨睡,五點半起ok,有時候夜幕降臨就要困得昏過去。這樣的話,就爭取精神狀態好的時候多做點事,狀態不好就多休息,不去刻意按時睡了。只是有一點,臉上從不長痘的我,也開始長痘了。不知道是春天有...

一點小想法

關於一點應用加速的心得 1.為了不影響使用者體驗,可以單獨開執行緒來完成費時的操作 thread thread new thread new runable public void run 寫在這裡 2.其實對於一些應用來說,可以把運算的結果儲存起來,下次直接讀取資料,這樣可以節約不少時間。3.盡量...

最近的一點想法

昨天在學校看見一男生,穿了一件寫著赫然寫著四個大字 我很內向 很是吸引眼球啊,由此想到此前我給www.iiqoo.com做的直銷tshirt 似乎缺少的不是別的,而是一些有新意的,凡客現在已經獲得了第三輪的風投了,看來個性tshirt也大有可為,不過其時間週期似乎是短了點,只有入夏至初秋這段時間,我...