Rumah > pembangunan bahagian belakang > tutorial php > PHP读取文件速度怎样优化

PHP读取文件速度怎样优化

不言
Lepaskan: 2023-02-28 16:02:02
asal
2803 orang telah melayarinya

各位前辈好,  
小弟要读取一个大的log文件到该有一百六十万行  
请问小弟改如何优化读文件的速度呢 ?  
因为小弟要读取然后写进数据库。  
小弟现在使用的fopen,fget这样来读。  
请前辈赐教。  
谢谢。

回复讨论(解决方案)

fgets 读一行  
如果还嫌慢,那就:  
fread 读一块(2048 或 更大)  
读后按行切割  
处理时保留最后一个不处理, 与下一次读取的内容连接后再处理

最快的方法是使用 loadfile in 指令直接加载到临时表,然后再处理

前辈能给代码示范吗?  
非常感谢。  

$fn = &#39;文件名&#39;;$fp = fopen($fn, &#39;r&#39;);$last = &#39;&#39;;while(! feof($fp)) {  $a = preg_split("/[\r\n]+/", $last . frenad($fp, 2048));  for($i=0; $i<count($a)-1; $i++) {     对数据的处理  }  $last = $a[$i];}if($last) 对数据的处理
Salin selepas log masuk

使用fread读取一块可以提升速度。  

谢谢前辈帮助。

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan