Почему мой запрос занимает ~ 74 секунды, чтобы быть выполненным? [закрыто]Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Почему мой запрос занимает ~ 74 секунды, чтобы быть выполненным? [закрыто]

Сообщение Anonymous »

У меня есть этот класс: < /p>

Код: Выделить всё

namespace App\Infrastructure\Services;

use Doctrine\ORM\EntityManagerInterface;

use App\Entity\MyModel

class FetchResultFromDb
{

public function __construct(public EntityManagerInterface $entityManager)
{
}

public function getEarliestResult(int $rowNum)
{

$queryBuilder = $this->entityManager->getRepository(MyModel::class)->createQueryBuilder('m');

return $queryBuilder
->from(MyModel::class, 'm')
->select('m.id')
->orderBy('m.sentTimestamp', 'ASC')
->setMaxResults($rowNum)
->getQuery()
->getResult();

}

}
Чего я хочу достичь, это сделать простой выбор в таблице my_model :

Код: Выделить всё

SELECT id from my_model order by sent_timestamp LIMIT :row_num
< /code>
Сущность доктрины, которая используется для запроса: < /p>
namespace App\Entity;

use App\Infrastructure\Repository\MailLogRepository;
use Doctrine\DBAL\Types\Types;
use Doctrine\ORM\Mapping as ORM;

#[ORM\Entity]
class MyModel
{
#[ORM\Id]
#[ORM\GeneratedValue]
#[ORM\Column]
private ?int $id = null;

#[ORM\Column(name:'sent_timestamp',type: Types::DATETIME_IMMUTABLE)]
private ?\DateTimeInterface $sentTimestamp = null;

}

Но выполнение getearliestresult занимает ~ 74 секунды. Вы знаете, почему? Этот запрос достаточно прост, если запустить, как непосредственно в базе данных, вместо использования строителя запросов, он занимает ~ 0,4 секунды для 5020 строк.

Подробнее здесь: https://stackoverflow.com/questions/794 ... e-executed
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»