PHP Forum

PHP Forum (http://www.selfphp.de/forum/index.php)
-   MySQLi/PDO/(MySQL) (http://www.selfphp.de/forum/forumdisplay.php?f=22)
-   -   SQL Query mit left join subquery (http://www.selfphp.de/forum/showthread.php?t=25800)

agoebel 03.03.2016 11:05:24

SQL Query mit left join subquery
 
Hallo,

habe ein Problem mit einem komplexen SQL-Query. Ich führe einen LEFT JOIN mit einem Subselect aus, welcher ca. 60000 Datensätze zurückliefert. Hier das Statement:

Code:

SELECT SQL_CALC_FOUND_ROWS
table0.`id`,
...
trackingNotizen.`notizen`
FROM
`tracking` table0
INNER JOIN
`benutzer` table1 ON table0.`mitarbeiter` = table1.`id`
INNER JOIN
`jobs` table2 ON table0.`job` = table2.`id`
LEFT JOIN
(SELECT
tr.tracking,
GROUP_CONCAT(CONCAT('', tr.type, ': ', tr.notiz)
SEPARATOR '#') AS notizen
FROM
tracking_notizen tr
INNER JOIN tracking t ON tr.tracking = t.id
GROUP BY tr.tracking, t.mitarbeiter) trackingNotizen ON table0.`id` = trackingNotizen.`tracking`
ORDER BY `id` DESC
LIMIT 0 , 25;

Nun läuft dieses Query endlos und gibt kein Ergebnis zurück. Wenn ich in dem Subquery z.B. ein WHERE t.von > '2016-03-01' hinzufüge, dann funktioniert es, da die Datenbasis nicht mehr 60000, sondern ca. 200 sind. Beim Ausführen des einzelnen Subqueries gibt es keinerlei Geschwindigkeitsprobleme (Alle 60000 Datensätze in 3 Sekunden). Durch einen Inner Join anstatt eines Left Joins läuft es auch sehr schnell durch, ca. 3 Sekunden. In Kombination mit einem Left Join kommt es aber zur Endlos-Ausführung.

Was kann ich ändern, damit dieses Query schnell läuft.

Vielen Dank schonmal.


Alle Zeitangaben in WEZ +2. Es ist jetzt 09:40:29 Uhr.

Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.