c 程式大資料量處理效能優化

2021-09-24 20:12:07 字數 585 閱讀 8878

1. 現在處理的程式為每秒鐘處理20w條資料,甚至更多,加快處理速度,總結了一些經驗,記錄下來

程式的資料結構裡面盡量避免string,map這樣的資料結構,因為string雖然不用自己管理指標,但是在構造和析構的時候很費資源,還有在執行c_str()的時候要new出一塊記憶體來,這樣的頻繁執行的程式塊中,會非常費時間。map在插入的時候,因為要保持rbtree的平衡結構,要進行self_balance,每次調整很費時間,如果資料不是特別多的時候,建議不要用map,如果能夠用hash_map盡量用它,因為在大資料處理時候,hash_map的效率還是挺高的。

2. 盡量用採用空間換時間策略,例如通過'a' 'b' 'c'分別找到1, 2, 3就不用放到乙個字元陣列裡面char sz = ;然後寫函式遍歷它找了。直接申請255個char空間,像這樣

char szbuffer[255];

memset(szbuffer, 0, sizeof szbuffer);

szbuffer['a'] = 1;

szbuffer['b'] = 2;

szbuffer['c'] = 3;

這樣直接通過整數形式的索引形式,直接索引找到,加快了查詢速度

航測大資料量處理 大資料量處理及優化措施

1 首先考慮垂直拆分庫,不同的表拆分到不同的庫中,例如使用者庫 產品庫 支付庫 2 然後考慮水平拆分庫,將乙個表的資料放到多張表中,例如按照使用者 時間 訂單號 3 插入資料的時候不建立索引 4 待資料已經插入完成後,建立索引 5 正確的指定索引字段 6 使用批量插入資料庫的方式代替單條資料的插入 ...

SQL大資料量分頁效能優化

目前在進行web api唯讀介面的改造,在改造過程中,發現改在後響應時間和之前區別不是很大,通過測試結果顯示在sql的分頁功能處找到原因,並對其進行優化,優化方案如下。測試內容 此次執行時間對比採用平台資金記錄最多的使用者 user id 36062 測試次數未5次 為避免索引快取每次測試前更改 l...

MySQL大資料量分頁效能優化

mysql大資料量使用limit分頁,隨著頁碼的增大,查詢效率越低下。1.直接用limit start,count分頁語句,也是我程式中用的方法 select from product limit start,count 當起始頁較小時,查詢沒有效能問題,我們分別看下從10,100,1000,100...