Ich benutze Symfony mit Doktrin (2.5). Ich habe ausgewählt (aus Symfony Profiler-> Lehre-> Abfragen-> Ansicht Runnalbe Abfrage). Es dauert ~ 200ms über phpMyAdmin oder im Web über Doktrin (selbe Zeit).Lehre viel lange Zeit wie in phpMyAdmin?
SELECT col1, col2 ... col 12, MIN(t0_.price) AS sclr_24
FROM tablo t0_
WHERE t0_.visible = (1) AND t0_.status <> (0) AND t0_.price IS NOT NULL
GROUP BY t0_.kat_id
ORDER BY t0_.hotel ASC;
Aber wenn ich orderBy
von PHP entfernen - Lehre wird diese Abfrage generiert: (wie bei vorherigen, aber ohne orderBy
)
SELECT col1, col2 ... col 12, MIN(t0_.price) AS sclr_24
FROM tablo t0_
WHERE t0_.visible = (1) AND t0_.status <> (0) AND t0_.price IS NOT NULL
GROUP BY t0_.kat_id;
Diese Abfrage Zeit fast vorherige Abfrage, sondern nur auf Web über Lehre nimmt, wenn Ich kopiere diese Abfrage und Einfügen in phpMyAdmin es dauert eine Menge Zeit weniger (~ 20ms).
Können mir einige erklären warum? Oder was ich ändern muss, um die gleiche Zeit wie in phpMyAdmin zu haben?
UPDATE: Code aus dem Repository:
$query = $repository
->createQueryBuilder('t')
->select('t.col1', 't.col2' .... 't.col12', 'MIN(t.price) AS price');
$query->where('t.visible = (:visible)')->setParameter('visible', 1);
$query->andWhere('t.status!= (:status)')->setParameter('splneno', 0);
$query->andWhere('t.priceis not null');
$query->groupBy('t.katId');
$result = $query->getQuery()->getArrayResult();
fügen Sie bitte einige weitere Informationen und Code, wie genau Sie erstellen und verarbeiten diese Abfrage in Symfony. – lordrhodos