PDO比mysql_ *慢一点,但它具有很好的可移植性。 PDO提供跨多个数据库的单一界面。 这意味着你可以使用多个数据库,而不使用mysql的mysql_query,MS sql的mssql_query等。总是使用类似于$ db-> query(“INSERT INTO …”)的东西。 不pipe你使用的是什么数据库驱动程序。
所以,对于大型或便携式项目PDO是最好的。 甚至zend框架使用PDO。
一些快速的时间表明PDO连接速度稍快。
$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: ".$raw