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

Webseiten professionell erstellen

Webseiten professionell erstellen 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 12.01.2014, 18:45:44
hansii79 hansii79 ist offline
Anfänger
 
Registriert seit: Jan 2014
Alter: 45
Beiträge: 1
Geschwindigkeit Datenbankabfrage - welche Variante

Hallo,
folgende Fragestellung:
Ich habe eine Datenbank in der sich Artikel befinden. In einer Tabelle stehen die Artikelnummern, in anderen Tabellen weitere Infos, in einer letzten Tabelle dazugehörige Fotos (bis zu 6 Stück).

Bisher habe ich die Fotos mit einem SELECT in der WHILE-Schleife abgerufen (Skizzenhaft):
PHP Quellcode:
PHP-Code:
mysql_query("SELECT t1.artikelnummer... FROM t1 LEFT JOIN t2... LEFT JOIN t3... LEFT t4... WHERE...")
while {
   
mysql_query("SELECT foto FROM t10 WHERE fotoid = '".mysql_real_escape_string($a['artikelnummer'])."' ")

Gerne würde ich diese aber mit einem weiteren LEFT JOIN in die erste SELECT-Abfrage einbauen. Wie folgt:
PHP-Code:
mysql_query("SELECT t1.artikelnummer... FROM t1 LEFT JOIN t2... LEFT JOIN t3...
LEFT JOIN (SELECT foto FROM t10 LIMIT 0,1) AS foto...WHERE..."

Das funktioniert auch soweit. Allerdings dauert die zweite Variante mit gut 2 Sekunden etwa 10x so lang wie die erste Variante?!

Bringe ich in der ersten Variante einfach ein weitere LEFT JOIN auf die Fototabelle, funktioniert das auch - allerdings wird der Artikel dann so oft, wie die Anzahl der dazugehörigen Fotos vorhanden sind, ausgegeben. Ein GROUP by o.a. macht das ganze noch langsamer...

Soll ich dann jetzt doch lieber die erste Variante beibehalten? Schaffe ich so nicht zuuuu viele Datenbank-Connections (bei Beispielsweise 50 Einträge/Seite)? Wie kann ich die zweite Variante "schneller" bekommen?

DANKE
Mit Zitat antworten
  #2  
Alt 12.01.2014, 21:21:35
Ckaos Ckaos ist offline
Member
 
Registriert seit: Nov 2007
Beiträge: 843
AW: Geschwindigkeit Datenbankabfrage - welche Variante

Hi,

ich habe auch mal gedacht "alles in einer Abfrage!".

Da ich in meinem letzten Projekt genau das selbe hatte, hier mein Ansatz.

1. Artikel abrufen
2. Bilder abrufen z.B. 'WHERE fotoid in (ARTIKELNUMMERN)' +INDEX auf fotoid

Fertig ;)

Du könntest natürlich auch dein Problem mit "GROUP_CONCAT" lösen, würd ich dir aber nicht empfehlen ;)

ABER ich hoffe deine Tabellen heißen nicht wirklich t1-t10 ;)

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
Welche Geschwindigkeit Selphie Off Topic Area 3 01.09.2014 20:09:09
Datenbankabfrage abhängig von anderer Datenbankabfrage lausbub MySQLi/PDO/(MySQL) 3 13.10.2009 15:45:48
Datenbankabfrage juergen PHP für Fortgeschrittene und Experten 4 18.09.2008 11:18:11
geschwindigkeit?! joker PHP Grundlagen 18 03.09.2004 17:00:32
Performance bei Datenbankabfrage crowl PHP für Fortgeschrittene und Experten 6 04.06.2003 18:16:51


Alle Zeitangaben in WEZ +2. Es ist jetzt 00:33:15 Uhr.


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


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