PDO'nun klasik mysql sorgularından farkı nedir acaba ?
Daha fazla veritabanı modeli desteklemektedir.
Yani sen bugün mysql veritabanı kullanarak kodlamaya başladıgın bir projede ileride mssql kullanmak istersen yazdıgın kodlardaki mysql_query fonksiyonlarını tutup mssql_query ile degiştirmen gerekecek vs.vs.. ama PDO da tek bir sorgu mantıgı var $db->query();
Daha büyük sonuçları üzerinde taşıyarak daha hızlı işlem görüyor,
Örnek olarak sana şunları gösterebilirm,
$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";bu işlemin çıktısı;
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
buradaki çok küçük süreler olarak gözüksede büyük projelerde gözle görülür bir sonuç farklı ortaya çıkacaktır.