Home > Backend Development > PHP Tutorial > PHP读取文件速度怎样优化

PHP读取文件速度怎样优化

不言
Release: 2023-02-28 16:02:02
Original
2669 people have browsed it

各位前辈好,  
小弟要读取一个大的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) 对数据的处理
Copy after login

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

谢谢前辈帮助。

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template