我有一個包含劇情數據的文件。每條線總共有4個座標,數據文件可以超過1 GB。比方說,我想獲得數據文件中的第三列,哪種方法應該考慮良好的實踐並且更快?PHP - exec awk或fread更快地讀取非常大的文件上的列
使用執行:
exec("awk '{ print $3 }' data", $output);
使用PHP腳本:
$data = file("data");
$points = array();
foreach($data as $line)
$points[] = $line[2];
而且,由於服務器不允許讀取大型文件,我必須用FREAD閱讀幾個部分文件。但是fread不夠聰明,必須做一些工作來結合每個部分的最後一行。任何建議或任何更好的方法來讀取文件在PHP中的列?
您可以在前後添加microtime(true)以獲得成本時間。你可以看到哪個更快。 – TroyCheng
fseek也許(不知道,因爲系統調用也有一定的代價) – bwoebi
這是什麼樣的數據文件?它是CSV嗎?另外,'awk'如何比'fread()'更聰明? –