之前遇到个问题,需要将一个文件夹中的所有文件名取出并 存入到数据库中。
采用php脚本测试,读取一个文件名,就立即存储到数据库中,结果花了我230多秒的时间,速度实在太慢!
原因分析:insert 语句被执行了6000次,导致速度特别慢!
改进方法:1、用php脚本 将 所有的文件名都存入到一个文本文件中filename.txt(一个文件名占一行),实测脚本执行时间 1.5262秒。
2、用php的fgets()函数取出filename.txt中的每一行数据,保存到buffer数组中,将buffer数组写入到一条insert语句中,
执行一次insert语句,实测脚本执行时间 0.0629秒。
代码1的功能是提取目录test下的文件名,并将其保存到“filename.txt”中如下:
<?php
$st=microtime_float();//自定义函数,在代码2中可见。
$cout=0;$dir="e:/pydot";$talbe="pydot2";
if(is_dir($dir)){
if($dh=opendir($dir)) {
while(($file=readdir($dh)) !== false){