主义/ Symfony 4.3标准查询缓慢

我有一个大型数据库,可以查询特定日期之间的行:

$criteria = Criteria::create();
$criteria->where(Criteria::expr()->andX(
    Criteria::expr()->gte('receivedAt',$start),Criteria::expr()->lte('receivedAt',$end)
));
// Do the query and time it
$startCheck = new \DateTime();
$cmails = $em->getRepository(CMail::class)->matching($criteria);
$endCheck = new \DateTime();
$diff = $endCheck->getTimestamp() - $startCheck->getTimestamp();

这将返回0(因为它四舍五入为秒。

但是,如果我这样做:

/* @var $cmail CMail */
foreach ($cmails as $cmail) {
    $endCheck2 = new \DateTime();
    $diff2 = $endCheck2->getTimestamp() - $startCheck->getTimestamp();
    dump($diff2);
    die;
}

它给了我40多秒钟。 ->matching是否以某种方式延迟加载查询,如果这样,是否可以加快查询速度?我正在使用MySQL 5.7,相应的表大约有10万行,这应该花不了那么长时间,对吗?

xqljfazdyq 回答:主义/ Symfony 4.3标准查询缓慢

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/2913885.html

大家都在问