php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 26.10.2009, 19:32  
mac
Neuer Benutzer
 
Registriert seit: 09.06.2004
Beiträge: 6
PHP-Kenntnisse:
Anfänger
mac zeigte ein beschämendes Verhalten in der Vergangenheit
Standard MySQL Abfrage dauert zu lange!

Hallo,

ich habe eine Abfrage, wo ich Daten aus 3 Tabellen hole und diese über INNER JOINs zusammenführe.

Und das ganze noch in eine Funktion gepackt.

Es funktioniert soweit alles, nur dauert die Abfrage extrem lange. Woran kann das liegen?



function ergebnis_suche($slimit,$limit,$eigenschaft,$db_1,$ db_2,$db_6){

$result = @mysql_query("
SELECT * FROM $db_1
INNER JOIN $db_2 on $db_2.id_ad=$db_1.id
INNER JOIN $db_6 on $db_6.id_ad=$db_1.id
$eigenschaft order by $db_1.login_datum desc limit $slimit, $limit");

return $result;

}
mac ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 26.10.2009, 19:46  
Erfahrener Benutzer
 
Registriert seit: 28.03.2008
Beiträge: 1.847
HPR1974 wird schon bald berühmt werden
Standard

also einfacher wäre wenn du das wirkliche statement mal zeigen würdest...
Wie gross sind die tabellen? welcher art sind die felder die Du im join benutzt?
etc. etc.
HPR1974 ist offline   Mit Zitat antworten
Alt 26.10.2009, 20:03  
Moderator und Wett-König
 
Benutzerbild von dr.e.
 
Registriert seit: 21.05.2008
Beiträge: 3.654
PHP-Kenntnisse:
Fortgeschritten
dr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblick
dr.e. eine Nachricht über Skype™ schicken
Standard

Was sagt ein EXPLAIN?
__________________
Viele Grüße,
Dr.E.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. Think about software design before you start to write code!
2. Discuss and review it together with experts!
3. Choose good tools (-> Adventure PHP Framework (APF))!
4. Write clean and reusable software only!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dr.e. ist offline   Mit Zitat antworten
Alt 26.10.2009, 21:57  
mac
Neuer Benutzer
 
Registriert seit: 09.06.2004
Beiträge: 6
PHP-Kenntnisse:
Anfänger
mac zeigte ein beschämendes Verhalten in der Vergangenheit
Standard

Die 3 Tabellen haben über 1.800 Datensätze. Spaltenanzahl beträgt max. 10.

Felder die ich bei JOIN verwende sind INT(11).
mac ist offline   Mit Zitat antworten
Alt 26.10.2009, 21:59  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Doc E's Frage beachten und Indizes prüfen.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 26.10.2009, 22:00  
mac
Neuer Benutzer
 
Registriert seit: 09.06.2004
Beiträge: 6
PHP-Kenntnisse:
Anfänger
mac zeigte ein beschämendes Verhalten in der Vergangenheit
Standard

bei $eigenschaft werden je nach Suche die Werte über die Spalten der Tabelle abgefragt und per and verknüpft.

Sind drei Tabellen zu viel? Oder gibt es einen anderen Grund warum die Abfrage so lange dauert?
mac ist offline   Mit Zitat antworten
Alt 27.10.2009, 10:22  
Erfahrener Benutzer
 
Registriert seit: 28.11.2008
Beiträge: 160
PHP-Kenntnisse:
Fortgeschritten
McSodbrenner befindet sich auf einem aufstrebenden Ast
Standard

EXPLAIN verwenden?
McSodbrenner ist offline   Mit Zitat antworten
Alt 27.10.2009, 11:16  
Erfahrener Benutzer
 
Registriert seit: 08.04.2009
Beiträge: 324
Creator befindet sich auf einem aufstrebenden Ast
Standard

1. Entferne mal das @ Zeichen
2. Man schreibt nicht SELECT * wähle genau das aus was du haben willst.
3. Verwende EXPLAIN
4. Setze die Indexe richtig.

Bei 1800 Datensätzen probleme mit der Performance zu haben ist irgendwie komisch.
Entspricht dein Datanbankdesign den Normalformen?
Creator ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

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

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
MySQL Abfrage apax PHP Tipps 2009 1 15.05.2009 23:32
MySQL Abfrage nach mehreen Spalten und mit verschiedenen Bedingungen ketchup PHP Tipps 2009 1 19.03.2009 23:21
[Erledigt] MySQL Abfrage parti02 Datenbanken 8 07.01.2009 19:19
MySQL - Fehler in einfacher Abfrage oden Datenbanken 11 03.01.2009 20:03
MySQL Abfrage Problem mit Where parti02 Datenbanken 14 23.10.2008 14:52
MySQL Abfrage von Ver. 5 für Ver 3. des MySQL Servers FireFIghter Datenbanken 3 02.02.2007 17:18
Datum bezogene mysql abfrage ApfeL Datenbanken 5 22.10.2006 16:03
MySQL Abfrage macht Seite langsam Datenbanken 11 19.10.2006 19:38
MySQL Abfrage Von / Bis andrew22 Datenbanken 1 02.10.2006 11:04
MySQL - Abfrage: Unterschiedliche Ergebnisse aus PHP/manuell horstenpeter Datenbanken 3 16.07.2006 13:22
mysql abfrage in Schleife havok PHP Tipps 2006 6 09.05.2006 08:39
[Erledigt] mysql abfrage über 4 Tabelle - bis 3 geht, bei der 4. habert Datenbanken 2 08.09.2005 11:59
Suche Tipps für Persormance-Steigerung (Geld für Nützliches) Beitragsarchiv 18 16.08.2005 10:57

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
mysql abfrage dauert lange, mysql abfrage dauert zu lange, mysql abfrage dauert ewig, http://www.php.de/datenbanken/60508-mysql-abfrage-dauert-zu-lange.html, mysql select dauert zu lange, mysql join dauert lange, mysql update dauert lange, mysql order by dauert lange, php mysql abfrage dauert zu lange, sql abfrage dauert lange, mysql left join dauert ewig, mysql left join dauert zu lange, php fatal error: maximum execution time of 60 seconds exceeded, mysql abfrage dauert ewig lange, mysql explain verwenden, mysql abfrage mit join dauert zu lang, abfragen daueren so lange mysql, mysql join dauert zu lange, mysql join dauert ewig, mysql select dauert lange

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




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum