SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Websites optimieren für Google & Co.

Websites optimieren für Google & Co. zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Deine Leidenschaft ist die Unterwasserfoto-grafie?


Dann ist Qozido genau das Richtige für Dich!

Die Bilderverwaltung mit Logbuch für Taucher und Schnorchler ist da!

www.qozido.de

 


Zurück   PHP Forum > SELFPHP > MySQL

MySQL Anfänger, Fortgeschrittene oder Experten können hier Fragen und Probleme rund um MySQL diskutieren

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 03.03.2016, 12:05:24
agoebel agoebel ist offline
Anfänger
 
Registriert seit: Mar 2016
Alter: 34
Beiträge: 1
agoebel befindet sich auf einem aufstrebenden Ast
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.
Mit Zitat antworten
Antwort

Stichworte
left join, sql, subquery


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Hilfe beim Tunen von MySQL Statements erbeten Balael MySQL 2 26.06.2011 20:25:18
Brauche Hilfe Partygirl MySQL 10 01.03.2011 09:18:11
LEFT JOIN oder subquery oder min gibt keine Lösung Sandra MySQL 2 21.04.2010 12:52:38
SQL Query optimierung / beschleunigung nivadis MySQL 11 19.06.2009 16:43:55
IExplorer <-> Firefox + CSS rsciw HTML, CSS und JavaScript Help! 10 25.09.2006 17:06:34


Alle Zeitangaben in WEZ +2. Es ist jetzt 12:08:30 Uhr.


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


© 2001-2016 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt