2014-10-29 2 views
-1

Я проверил сегодня PDO производительность, как это:PDO производительность объекта

<?php 
$start = microtime(true); 
new PDO("mysql:host=localhost;dbname=mw", 'root', ''); 
$stop = microtime(true); 
echo $stop - $start; 

И результат был довольно удивительно (работает локально на моей ОС Windows 8.1 Laptop)

ELLAPSED: 1.0117259025574

Во время выполнение сценария, я кэширую объект PDO в статической переменной, поэтому мне не нужно создавать новую для другого запроса. Но этот метод кэширования работает только во время выполнения скрипта.

Мой сценарий работает в 1,25 секунды, из которых 1.01 используются для создания объекта PDO. Есть ли способ кэшировать объект PDO для всего сеанса или для нескольких пользователей?

Я что-то упустил?

+5

Это не тип среды для запуска сравнительного теста на. –

+0

Это * может * также быть базой данных, которая делает операцию медленной. Здесь слишком много движущихся частей, чтобы что-то сказать наверняка. Это, конечно, намного быстрее в моей обычной среде. – deceze

+1

Запуск кода на моем 5-летнем ноутбуке Win7 (который был довольно низким для начала) возвращает значения, такие как '0.00019407272338867'. Кэширование объекта PHP не должно быть вашей отправной точкой здесь. Какое время вы получаете за очень простой 'for ($ i = 1; $ i <= 1000000; $ i ++) {\t}'? – rjdown

ответ

2

Я протестировал тот же код на своем сервере и соединился с db через PDO.

$ начинать время +1414590258,7735 $ конечное время 1414590258,7736 А $ конец по времени $ начинать время 0,0001530647277832

Мой код

enter code here 
$start = microtime(true); 
new PDO("mysql:host=$mysqlnd_appname1;dbname=$db1",$user1,$pass1); 
$stop = microtime(true); 
echo($start); 
echo "<br />"; 
echo $stop; 
echo "<br />"; 
echo $stop - $start; 

Таким образом, ее производительность соединения PDO хорошо, его также зависит от вашего сервера и того, как мой сервер sql отвечает на ваш php-сервер. для получения более подробной информации посетите http://archive.jnrbsn.com/2010/06/mysqli-vs-pdo-benchmarks

Смежные вопросы