我今天试射PDO的表现是这样的:PDO对象性能
<?php
$start = microtime(true);
new PDO("mysql:host=localhost;dbname=mw", 'root', '');
$stop = microtime(true);
echo $stop - $start;
,结果是相当令人吃惊
ELLAPSED(在我的Windows 8.1笔记本电脑本地运行):1.0117259025574
在一个脚本执行,我将PDO对象缓存在一个静态变量中,所以我不必为另一个查询创建一个新的。 但是这种缓存方法只在脚本执行期间有效。
我的脚本运行在1.25秒其中1.01用于创建PDO对象。 有没有办法为整个会话或多个用户缓存PDO对象?
我错过了什么吗?
这不是上运行的基准测试环境的类型。 – 2014-10-29 13:10:07
它*可能*也是使操作变慢的数据库。这里有太多的移动部件可以肯定地说出任何事情。在我的常规环境中,速度肯定会快很多。 – deceze 2014-10-29 13:13:51
在我5岁的Win7笔记本电脑上运行你的代码(这是非常低规格的开始)返回像'0.00019407272338867'这样的值。缓存PHP对象不应该是你的出发点。什么时候你得到一个非常简单的'for($ i = 1; $ i <= 1000000; $ i ++){\t}'? – rjdown 2014-10-29 13:41:27