兩個大文字,每行一條int資料
3億(int)資料-2億(int)資料 求差集
原始(粗暴)辦法
1redis set 或類似方案
本地記憶體 cpu都撐不住
2持久化兩張表 sql join
mysql join是兩層暴力for的效能太差,還是單執行緒的
sqlserver 三種join方式,1兩層for,2有序列優化join,3 hash join,該場景可用有序列進行join(int型數 hash join沒啥意義),效能遠勝兩層暴力for,另外sqlserver多執行緒計算優化
orcal 和sqlserver類似 細節或有區別,不是很熟悉,反正比mysql強
3 sql insert文字1,遍歷文字2 update 再select
sqlserver 本機mac需要
4hadoop map/reduce 本身自帶sort,說到底和sqlserver join原理差不多,同時用到了多機,多程序/執行緒
4linux命令 grep sort 之類
5bitmap
直接用redis 作位運算 **都不用寫多少
大量int型資料,交差並都都優先考慮bitmap
用redis的 bit 有位數限制
offset
引數必須大於或等於0
,小於 2^32 (bit 對映被限制在 512 mb 之內)。
單key放不下,就多用幾個
redis [key] = val/(2^32)
[key] [offset] = val%(2^32)
setbit [key] [offset] 1
3億資料快速檢索實現
上週有個需求,就是要做乙個檢索庫 億個手機號碼,並且每個號碼 個左右的屬性例 地區,訂閱等資訊。在最短的時候內select出來 分鐘,分鐘 最重要 允許更新。對這些號碼進行傳送資訊後,狀態改變。可以讓他慢慢更新 和幾個同事討論了一下,具體要注意以下幾點 如果傳送下去狀態改變,但是只傳送一半,但狀態改...
讀寫int型txt資料。
自己造輪子果然還是效率低。txt檔案只能存放二進位制或者字元型資料。如果不加控制符,int型資料存放進txt檔案會以字元型存入,這就造成了讀取時的不便。需要自己寫對應的訪問和解析協議保證資料的讀取正確,很麻煩。所以把int型資料存為二進位制型方便讀取。這裡使用的是c語言fread和fwrite fo...
iOS 字典存入int型資料
注意 字典只能當oc物件,不能放c的基礎屬性,加 就是變成nsnumber型別 問題 後台需要上傳如下形式的字段 member id 8,正確操作方式 nsdictionary dic 解析 nsstring member idstr 8 int member id member idstr int...