有一个通过 PDO 进行的 mysql 查询
$statement = $this->database->getConnection()->prepare(
'SELECT a, b, c, d, e, f, g, h, timeReceipt
FROM data
WHERE idModem = :idModem
AND timeReceipt BETWEEN :startTime AND :endTime order by timeReceipt ASC'
);
$statement->execute([
'startDatetime' => (int) $startDatetime,
'endDatetime' => (int) $endDatetime,
'idModem' => $idModem
]);
$res = $statement->fetchAll(PDO::FETCH_NUM);
从一个包含700多万条记录的表中查询。使用了两个索引:idModem(bigInt)和timeReceipt(bigInt)-timestump。结果是一个包含 720 个元素的关联数组。大约需要5秒钟才能完成。
只是,通过微时间,这个片段大约需要5秒。
$time4 = microtime(true);
//запрос
$time5 = microtime(true);
在 phpmyadmin 显示配置文件中查询执行时间;0.03c在不同的值下。为什么 PDO 中的查询执行如此缓慢?