Я проверил сегодня 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 для всего сеанса или для нескольких пользователей?
Я что-то упустил?
Это не тип среды для запуска сравнительного теста на. –
Это * может * также быть базой данных, которая делает операцию медленной. Здесь слишком много движущихся частей, чтобы что-то сказать наверняка. Это, конечно, намного быстрее в моей обычной среде. – deceze
Запуск кода на моем 5-летнем ноутбуке Win7 (который был довольно низким для начала) возвращает значения, такие как '0.00019407272338867'. Кэширование объекта PHP не должно быть вашей отправной точкой здесь. Какое время вы получаете за очень простой 'for ($ i = 1; $ i <= 1000000; $ i ++) {\t}'? – rjdown