首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > PHP >

php程序优化求提议,执行速度太慢

2013-07-01 
php程序优化求建议,执行速度太慢高人们,因为我比较新手,所以不管从代码上,还是整体思路上都使这个程序运行

php程序优化求建议,执行速度太慢


高人们,因为我比较新手,所以不管从代码上,还是整体思路上都使这个程序运行缓慢,求优化建议,特别是数据库这里,还有数组这里,或者有更好的办法。100分在这里,谢谢!

[解决办法]
不一定能满足要求,但肯定比你的快

$ar = array_map('trim', file('siji.txt', FILE_IGNORE_NEW_LINES 
[解决办法]
 FILE_SKIP_EMPTY_LINES ));
foreach($ar as $v){
  preg_match('/([a-zA-Z]*)\s(.*)/', $v, $r);
  if(isset($r[2])) $b[] = "('$r[1]','$r[2]')";
}
$dsn = 'mysql:host=localhost;dbname=test1';
$db = new PDO($dsn,'root','',array(PDO::MYSQL_ATTR_INIT_COMMAND => 'set names utf8'));
$db->exec('INSERT INTO siji (en,cn) VALUES ' . join(',', $b));
 

[解决办法]
1、将内容格式化成一个类似#1的插入sql语句,保存成*.sql
2、直接用mysql将上面的*.sql导入,php可以用exec
[解决办法]
不好意思, 上面insert少了个t
MySQL 的导出语句格式都是用多行insert. 导入速度很快. 一般一条语句2000行记录没问题
[解决办法]
使用参数绑定时,PDO::quote(转义特殊字符)始终都会被执行,并不理会你的数据实际并不包含特殊字符
多出来的时间就是 PDO::quote 的执行时间



如果你总是单条插入,那么无论如何都不会“高速”运行的

[解决办法]

引用:
居然还慢了11秒,不是说一样类型的语句,编译成sql模板后速度会提升么,为什么这里下降啊??太奇怪!

预编译的提升原理在于节省了编译本身的时间,你觉得一个简单的insert编译需要时间吗?

热点排行