我终于切换到mysqli。
但是,我发现了显着的性能差异。
我有一个脚本可以进行大约 25.000 次查询。该脚本使用 mysqli 和 mysqlnd 作为驱动程序需要 15 秒,而使用 MySQL 和旧的 MySQL 客户端库需要 10 秒。
在这两种情况下,原始 SQL 时间都是 7.7 秒。
必须是 PHP 和 MySQL 之间的连接时间才能产生差异。
mysqli 比旧的 mysql 慢吗?
我已经定位了连接过程中的性能差异。
我将这些时间记录到脚本中。而且时差大约4秒
function connect() {
$time_start = $this->microtime_float();
$this->link = mysql_connect($GLOBALS['DB_HOST'], $GLOBALS['DB_USER'], $GLOBALS['DB_PASS'])
or die ("Could not connect to DB\n");
mysql_select_db($GLOBALS['DB_NAME'])
or die("Could not select ".$GLOBALS['DB_NAME']."\n");
$time_end = $this->microtime_float();
$_SESSION["MySQLTimeConnection"] += ($time_end - $time_start);
}
function connect() {
$time_start = $this->microtime_float();
$this->link = mysqli_connect($GLOBALS['DB_HOST'], $GLOBALS['DB_USER'], $GLOBALS['DB_PASS'],$GLOBALS['DB_NAME'])
or die ("Kunne ikke få forbindelse til databasen ".$GLOBALS['DB_NAME']."\n");
$time_end = $this->microtime_float();
$_SESSION["MySQLTimeConnection"] += ($time_end - $time_start);
}