看板 PHP 關於我們 聯絡資訊
因為我要讀取的檔案很大,非常多列 以我目前會的做法是 檔案從頭掃到尾 找到我要的那一列 但是因為資料很多 每找一次都要花很久的時間 想請問 有辦法指定每一個迴圈 不要從頭掃到尾 只要直接讀取檔案的某一列 就好嗎? 謝謝各位 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.109.32.9 ※ 編輯: eco100 來自: 140.109.32.9 (11/22 16:37)
fri13:如果是linux可以用shell指令下去找 11/22 18:16
p2k:懶人法 $line=exec("sed -n 100p $file"); // 讀第100行 11/22 20:46
tyf99:sequential search 是最沒效率的東西 11/23 22:22
tyf99:善用 hash filename,把原始檔案分成多個小檔去找 11/23 22:23
eco100:樓上可以請教怎麼做嗎? 謝謝 11/23 23:04
tyf99:簡單說就是把 array key/index 分群組 11/28 23:56
tyf99:這些 key/index 經由 hash 運算後變成檔名(避免重複) 11/28 23:57
tyf99:要搜尋時,針對要找的群組算 hash,就知道落在那個小檔裡 11/28 23:58
tyf99:群組越多,每個檔案就越小,找起來越快 11/28 23:59
tyf99:當然也不能分出太多檔案,硬碟會有I/O上的問題 11/29 00:02