4g記憶體的電腦,如何讀取8g的日誌檔案進行分析,彙總資料成報表。
先說思想解決,不說實際**實現;
1. 記憶體1g,所以大檔案首先要分割;如分割為20個檔案,那麼每個可以做到接近250m左右
2. 拿前面的3個檔案做案例:
a b c 3個檔案,每個250m;首先做到載入沒有問題
1.a 檔案讀取到seta中,此時集合中a的url不重複
2.b檔案讀取到setb中;
3.seta 和setb比較,將集合a和b中相同項都剔除;
4.清空setb;
5.載入c檔案;seta 和setc比較,將集合a和c中相同項都剔除;
6.前三個檔案a比較完成,生成和b,c檔案完全不重複的a1檔案
依次類推:
總拿前面的乙個檔案內容和後面檔案對比,對比一輪完成的那個檔案;
就絕對是完全不重複的內容了
資料庫索引的壞處:
索引是完全獨立於基礎資料之外的一部分資料。假 設在table ta 中的column ca 建立了索引 idx_ta_ca,那麼任何更新 column ca 的操作,mysql在更新表中 column ca的同時,都須要更新column ca 的索引資料,調整因為更新帶來鍵值變化的索引資訊。而如果沒有對 column ca 進行索引,mysql要做的僅僅是更新表中 column ca 的資訊。這樣,最明顯的資源消耗就是增加了更新所帶來的 io 量和調整索引所致的計算量。此外,column ca 的索引idx_ta_ca須要占用儲存空間,而且隨著 table ta 資料量的增加,idx_ta_ca 所占用的空間也會不斷增加,所以索引還會帶來儲存空間資源消耗的增加。
較頻繁的作為查詢條件的字段應該建立索引
唯一性太差的字段不適合單獨建立索引,即使頻繁作為查詢條件
唯一性太差的字段主要是指哪些呢?如狀態字段、型別欄位等這些欄位中存放的資料可能總共就是那麼幾個或幾十個值重複使用,每個值都會存在於成千上萬 或更多的記錄中。對於這類字段,完全沒有必要建立單獨的索引。因為即使建立了索引,mysql query optimizer 大多數時候也不會去選擇使用,如果什麼時候 mysql query optimizer選擇了這種索引,那麼非常遺憾地告訴你,這可能會帶來極大的效能問題。由於索引欄位中每個值都含有大量的記錄,那麼儲存引擎在根據索引 訪問資料的時候會帶來大量的隨機io,甚至有些時候還會出現大量的重複io。
有趣的面試題
1.四個人進行籃球傳接球練習,要求每個人接球後在傳給別人。開始由甲發球,並作為第一次傳球,若第五次傳球後,球又回到甲手中,則由多少種傳球方式 a 60 b 65 c 70,d 75 2.10個箱子總重100公斤,且重量排在前三位數的箱子總重不超過重量排在後三位的箱子總重的 1.5倍,問最重的箱子 重...
有趣的面試題
今天看了一道有趣的面試題,想了半天才把它想清楚個什麼意思,我覺得很有意思,所以拿出來給大家看一下,一起思考.題目大概是這樣的意思 給你10分鐘時間,根據上排給出十個數,在其下排填出對應的十個數 要求下排每個數都是先前上排那十個數在下排出現的次數。上排的十個數如下 例如 數值 0,1,2,3,4,5,...
有趣的面試題
之前在知乎上看到了乙個關於30道google面試題的帖子,感覺很有意思,在這裡比題和答案找出來,進行記錄也方便又興趣的朋友一起討論。題目 知乎,第一題 為什麼井蓋是圓的?這個問題算是乙個發散性思維的問題,沒有具體的答案,而且很多都在說井蓋並不一定都是圓的,以下鏈結有著很多人充分討論,感覺是理查德 範...