MySQL против MySQL. MySQL медленнее?

Я наконец перехожу на mysqli.

Однако я заметил существенную разницу в производительности.

У меня есть скрипт, который делает около 25 000 запросов.
Скрипт занимает 15 секунд с mysqli и mysqlnd в качестве драйвера
И 10 секунд с MySQL и старой клиентской библиотекой MySQL.

Необработанное время SQL составляет 7,7 секунды в обоих сценариях.

Это должно быть время соединения между PHP и MySQL, которое определяет разницу.

MySQL медленнее, чем старый 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);
}

0

Решение

Да, для стандартных запросов mysqli часто медленнее старого mysql функции в PHP.

Увидеть http://af-design.com/blog/2009/01/30/php-mysql-vs-mysqli-database-access-metrics/ за один такой тест.

Однако есть два существенных момента:

1 — mysql набор функций устарел и, вероятно, будет недоступен в какой-то момент, поэтому производительность не является проблемой.

2 — В вашем примере с 25 000 запросов вы, вероятно, могли бы изменить свой код, чтобы использовать подготовленные операторы (чего вы не можете сделать в mysql) и сделать значительную экономию. В меньшем масштабе 1 или 2 запроса на страницу подготовленные операторы, вероятно, не повлияют на производительность, но в то же время вы наблюдаете потерю производительности mysqli вероятно, не имеет значения в любом случае.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]