tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
5
ZUGRIFFE
385
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von joky_joky
    joky_joky joky_joky ist offline Mitglied Gold
    Registriert seit
    May 2004
    Beiträge
    182
    Tach zusammen mein Frage bezieht sich heute auf die Geschwindigkeit eine DB
    wenn ich ein Script sehr häufig ausführe und anstatt

    PHP-Code:
    SELECT FROM $tabelle WHERE Feld1 '$var1' and Feld2 '$var2'

    SELECT Feld1Feld2Feld3 FROM $tabelle WHERE Feld1 '$var1' and Feld2 '$var2' 
    ist diese Abfrage dann schonender für die DB oder gleicht sich das aus habe dazu jetzt schon viele Themen gelesen und ich weis nicht genau was ich jetzt glauben soll.

    Und ach ja kann mir vielleicht jemand sagen wieviele Abfragen ein DB in einer Stunde schaffen kann wenn das System ein P IV mit 2,8 GHz und 1024 MB Speicher ist oder wie kann man das vorher einschätzen oder berechnen?
     

  2. #2
    Registriert seit
    Dec 2002
    Ort
    Trier
    Beiträge
    17.502
    Blog-Einträge
    10
    Schonender klingt so, als würden sich bei falscher Bedienung Verschleißmerkmale aufweisen.

    Um auf die Frage zu kommen: Es ist immer besser, die Felder einzeln anzugeben. Denn einerseits weiß man genau, welche Daten abgefragt werden, und andererseits werden auch nur ausschließlich die angegebenen Felder abgefragt.
     

  3. #3
    Avatar von joky_joky
    joky_joky joky_joky ist offline Mitglied Gold
    Registriert seit
    May 2004
    Beiträge
    182
    hmm ok habe aber gehört das sich mit eine Abfrage die sich nur auf die Felder bezieht die ich brauche der Overhead deutlich erhöt und bei der anderen Abfragemöglichkeit halt eben nicht.
     

  4. #4
    Registriert seit
    Apr 2002
    Ort
    HH
    Beiträge
    3.224
    Im Einzelfall hilft sicher nur ein direkter Performancevergleich mit einem Testskript.
    Im Allgemeinen halte ich die Variante mit expliziter Auswahl der Felder für schneller, vor allem, wenn nicht alle Felder aus der Tabelle benötigt werden.
    Übersichtlicher finde ich sie ohnehin, da man nicht erst in die DB schauen muss, welche Felder man überhaupt erhält, wenn man mal wieder an den Code ran muss.

    Gruß hpvw
     

  5. #5
    neo2099 neo2099 ist offline Grünschnabel
    Registriert seit
    Feb 2005
    Beiträge
    2
    Hallo,
    die Anfrage mit direkt Auswahl ist schneller, da bei dieser wirklich nur die Feler geladen werden müssen die benötigt werden.

    Nimm einfach:
    SELECT feld1, feld2 FROM tabelle where feld1 = 1 and feld2 = 2
    (reihenfolge bei select genauso wie beim where-statment)

    und dann setz noch einen zweispaltigen index auf das feld1 und feld2
    (aber auch in dieser Reihenfolge)

    ... und dann ist deine Query nicht zu schlagen!

    Für solche Sachen ist es immer gut explain zu nutzen (einfach vor die Query setzen)

    gruß daniel
     

  6. #6
    Avatar von joky_joky
    joky_joky joky_joky ist offline Mitglied Gold
    Registriert seit
    May 2004
    Beiträge
    182
    Hmm ok werde ich machen.
    THX all for help.
     

Ähnliche Themen

  1. Mysql: Performance
    Von sharmuur im Forum Relationale Datenbanksysteme
    Antworten: 2
    Letzter Beitrag: 21.05.10, 22:38
  2. Performance MySQL
    Von QUEST08 im Forum Relationale Datenbanksysteme
    Antworten: 1
    Letzter Beitrag: 23.02.09, 14:27
  3. Abfrage Performance MySQL DB
    Von max im Forum Relationale Datenbanksysteme
    Antworten: 1
    Letzter Beitrag: 14.06.05, 12:55
  4. Performance mySQL
    Von Exceptionfault im Forum Relationale Datenbanksysteme
    Antworten: 2
    Letzter Beitrag: 23.03.05, 10:22
  5. MySQL Performance
    Von pogo im Forum PHP
    Antworten: 6
    Letzter Beitrag: 12.02.05, 22:42