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 ::

Einführung in XHTML, CSS und Webdesign

Einführung in XHTML, CSS und Webdesign 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:
 
 

Zurück   PHP Forum > SELFPHP > MySQLi/PDO/(MySQL)
Hilfe Community Kalender Heutige Beiträge Suchen

MySQLi/PDO/(MySQL) Anfänger, Fortgeschrittene oder Experten können hier Fragen und Probleme rund um MySQLi/PDO/(MySQL) diskutieren

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 11.03.2012, 23:08:11
baeckerman83 baeckerman83 ist offline
Anfänger
 
Registriert seit: Mar 2005
Beiträge: 10
SQL Query brauch 5-11 Sekunden, was tun?

Hiho!
Ich nutze für ein Hobby Projekt PHP5 und Mysql5, bis jetzt funktionierte auch alles gut. Seit dem ich aber immer mehr Daten in der Datenbank habe dauern die Abfragen immer länger. Leider brauchen einige jetzt mehr als 5 Sekunden. Ich habe mit den Request schon mit Explain angeschaut. Dort steht, ich würde alle Keys benutzen.
Anbei mal ein Screenshot der Explainausgabe. Was kann ich da machen? Ich bin noch Anfänger beim optimieren von MYSQL anfragen.
Miniaturansicht angehängter Grafiken
Unbenannt.png  
Mit Zitat antworten
  #2  
Alt 12.03.2012, 11:33:02
Benutzerbild von vt1816
vt1816 vt1816 ist offline
Administrator
 
Registriert seit: Jul 2004
Beiträge: 3.707
AW: SQL Query brauch 5-11 Sekunden, was tun?

Wie wäre es dann mal mit der (den) Query(s) und den dazugehörenden Datenbanktabellenstrukturen?
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #3  
Alt 12.03.2012, 12:44:55
Ckaos Ckaos ist offline
Member
 
Registriert seit: Nov 2007
Beiträge: 843
AW: SQL Query brauch 5-11 Sekunden, was tun?

Hi

Zitat:
Leider brauchen einige jetzt mehr als 5 Sekunden. Ich habe mit den Request schon mit Explain angeschaut. Dort steht, ich würde alle Keys benutzen.
Jo tust du nur rechne mal deine rows zusammen
1x10x1x1x1x2802x56716x56716x13
Dafür sind 5sek echt gut ;)

Ich rate mal Browserspiel Thema Fußball, vielleicht nen Tippspiel?
Entweder passt deine DB-Struktur nicht zur Applikation oder umgekehrt.
3x Subquery auf ein und die selbe Tabelle ohne Indexierung produziert
dir die erhöhte Zeit!
Wenn du schon Explain kennst les die Mysql Doku dazu
Zitat:
Using filesort

MySQL muss einen zusätzlichen Durchlauf vornehmen, um zu ermitteln, wie die Datensätze in sortierter Reihenfolge abgerufen werden können. Diese Sortierung erfolgt, indem alle Datensätze entsprechend dem Join-Typ überprüft und Sortierschlüssel sowie der Zeiger auf den Datensatz für alle Datensätze gespeichert werden, die der WHERE-Klausel entsprechen. Die Schlüssel werden dann sortiert und die Datensätze entsprechend in sortierter Reihenfolge abgerufen. Siehe auch Abschnitt 7.2.12, „ORDER BY-Optimierung“.
mfg
__________________
"Wenn die Leute Häuser so bauen würden, wie wir Programme schreiben, würde der erstbeste Specht unsere Zivilisation zerhacken."
In den allermeisten Fällen sitzt der Bug etwa 40 cm vor dem Monitor!
Mit Zitat antworten
  #4  
Alt 14.03.2012, 00:17:59
baeckerman83 baeckerman83 ist offline
Anfänger
 
Registriert seit: Mar 2005
Beiträge: 10
AW: SQL Query brauch 5-11 Sekunden, was tun?

Sorry für das ich erst jetzt Antworte. Die Datenbanktabellenstruktur möchte ich hier nur sehr ungern posten.
Es sind nur Fussball Statistiken, also kein Browser Game oder der gleichen. Diese Werte ich aus und möchte die dann auf einer Webseite anbieten.
Das Problem ist, ich möchte den aktuellen Spieltag ermitteln, daher die Subquerys. Die Datenbank ist soweit schon in der Normalform. Eventuell sind da noch ein paar Bugs drin, da bin ich ja grade dran.
Hier mal das Query da wo i_id_liga steht kommt meine liga ID rein. Was braucht ihr noch um mir bei der Query zu helfen und diese zu optimieren?

Code:
SELECT
distinct(stat.id_spiel) as id_spiel,
h.name_de as heim_m_de,
g.name_de as gast_m_de,
h.name_eng as heim_m_eng,
g.name_eng as gast_m_eng,
s.tor_h,
s.tor_g,
s.et_tor_h,
s.et_tor_g,
s.pt_tor_h,
s.pt_tor_g,
s.ht_tor_h,
s.ht_tor_g,
s.spieltag,
date_format(s.datum,'%d.%m.%y') as datum,
date_format(s.anstoss,'%H:%i') as anstoss,
datum as datum_spieltag,
s.saison,
s.status,
s.id_liga,
if((select count(*) from spiel_aufstellung where id_spiel=s.id_spiel)>0,s.id_spiel,null) as id_aufstellung
FROM spiel s
JOIN (mannschaft h, mannschaft g, liga_link ll) on (s.id_heim=h.id_mannschaft AND s.id_gast=g.id_mannschaft AND s.id_liga=ll.id_liga)
LEFT JOIN statistik stat ON (stat.id_spiel=s.id_spiel)
where s.saison=ll.saison AND
spieltag like if(
(select spieltag from spiel where datum>=date_format(now(),'%Y-%m-%d') and id_liga=i_id_liga order by datum limit 1)>0,
(select spieltag from spiel where datum>=date_format(now(),'%Y-%m-%d') and id_liga=i_id_liga order by datum limit 1),
(select spieltag from spiel where id_liga=i_id_liga order by spieltag DESC limit 1)
)
and s.id_liga=i_id_liga order by datum_spieltag, anstoss;
Mit Zitat antworten
  #5  
Alt 14.03.2012, 08:24:56
Benutzerbild von vt1816
vt1816 vt1816 ist offline
Administrator
 
Registriert seit: Jul 2004
Beiträge: 3.707
AW: SQL Query brauch 5-11 Sekunden, was tun?

Zitat:
Zitat von baeckerman83 Beitrag anzeigen
[..] Die Datenbanktabellenstruktur möchte ich hier nur sehr ungern posten.
Wie sollen wir Dir helfen, wenn wir zu wenig wissen. Sorry, kaum INPUT - kein OUTPUT.
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #6  
Alt 14.03.2012, 13:55:17
Ckaos Ckaos ist offline
Member
 
Registriert seit: Nov 2007
Beiträge: 843
AW: SQL Query brauch 5-11 Sekunden, was tun?

Hi

Zitat:
Die Datenbanktabellenstruktur möchte ich hier nur sehr ungern posten
Und anhand deines Query's können wir die nicht erraten?
Zitat:
Die Datenbank ist soweit schon in der Normalform.
Sorry aber sagt wer?
Zitat:
Was braucht ihr noch um mir bei der Query zu helfen und diese zu optimieren?
Leider alles ausser den zweck deiner Anwendung und die echten Daten und
glaub mir NUR die Daten sind dein Kapital nicht die Struktur denn die kann jeder
10te nachbauen/verbessern.

Also mit Geheimhaltung über die Tabellenstruktur, Definition der Felder und
erwünschten Abfrageergebnissen kommen wir hier wirklich nicht weiter.
Ich drück dir die Daumen das deine Performanceschwierigkeiten nicht dein
Projektende bedeuten.

mfg

CKaos
__________________
"Wenn die Leute Häuser so bauen würden, wie wir Programme schreiben, würde der erstbeste Specht unsere Zivilisation zerhacken."
In den allermeisten Fällen sitzt der Bug etwa 40 cm vor dem Monitor!
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

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
Brauche Hilfe Partygirl MySQLi/PDO/(MySQL) 10 01.03.2011 08:18:11
Freeradius-Server Abfrage disem MySQLi/PDO/(MySQL) 13 10.01.2011 21:01:51
SQL Query optimierung / beschleunigung nivadis MySQLi/PDO/(MySQL) 11 19.06.2009 15:43:55
Tipp für 'LIMIT' - Performance Webbing MySQLi/PDO/(MySQL) 3 31.08.2007 23:41:51


Alle Zeitangaben in WEZ +2. Es ist jetzt 16:35:02 Uhr.


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


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