Bazı hızlı zamanlamaları PDO bağlamakla biraz daha hızlı olduğunu gösteriyor.
$start = microtime(true);
for($i=0; $i<10000; ++$i) {
try {
$db = new PDO($dsn, $user, $password);
} catch (PDOException $e) {
echo 'Connection failed: ' . $e->getMessage()."\n";
}
$db = null;
}
$pdotime = microtime(true) - $start;
echo "PDO time: ".$pdotime."\n";
$start = microtime(true);
for($i=0; $i<10000; ++$i) {
$db = mysql_connect($host, $user, $password);
if(!$db) {
echo "Connection failed\n";
}
if(!mysql_select_db($schema, $db)) {
echo "Error: ".mysql_error()."\n";
}
mysql_close($db);
}
$rawtime = microtime(true) - $start;
echo "Raw time: ".$rawtime."\n";
Gibi sonuçlar verir
PDO time: 0.77983117103577
Raw time: 0.8918719291687
PDO time: 0.7866849899292
Raw time: 0.8954758644104
PDO time: 0.77420806884766
Raw time: 0.90708494186401
PDO time: 0.77484893798828
Raw time: 0.90069103240967
Hız farkı zaten önemsiz olacak; bir ağ bağlantısı kurma olasılığı mysql sunucu başka bir host üzerinde, özellikle de uzun PDO tarafından yapılan herhangi bir yükü daha çok alacaktır.
Sen PDO kendiniz kullanmak için tüm nedenleri bahsetti. Gerçekten, PDO kullanabilir ya da ya doğrudan * işlevleri mysql_ asla kullanmayın some other library.