phpbar.de logo

Mailinglisten-Archive

[php] Generelle Frage zum Index

[php] Generelle Frage zum Index

Sebastian Mendel lists at sebastianmendel.de
Don Nov 17 13:38:47 CET 2005


ANGEL Harald wrote:
> Hallo!
> 
> Ich hab folgenden sql:
> SELECT mails.*, user.nickname, user.farbe FROM mails LEFT JOIN user ON mails.userid = user.userid WHERE (mails.anid=".$userid.") AND (mails.eingang = 1) and (mails.archiv = 0) and (mails.uordnerid = 0) ORDER BY mails.datum DESC
> 
> Ich hab auf folgenden Feldern einen Index:
> userid, anid, eingang, gesendete, archiv, uordnerid, ungelesen
> Jeweils einen eigenen Index.
> Das Script lädt aber nachwievor sehr langsam...
> 
> Nachdem ich ein wenig über Indizes gelesen habe bin ich da stutzig geworden. In den Feldern eingang, archiv, uordnerid steht jeweils nur 0 oder 1 drin, da bringt doch ein Index nicht, oder?

dein idealer index bei dieser Abfrage wäre

(mails.anid, mails.eingang, mails.archiv, mails.uordnerid)


> Kann man im phpMyAdmin auch einen Index über 3 Spalten anlegen? Also eingang+archiv+uordnerid ? Der wär doch sinnvoller, oder?

einfach die Felder in der Tabellen-Strujtur ansich auswählen und unten 
auf 'Index' klicken


generall hilft immer ein

   EXPLAIN [DEINE ABFRAGE]

(geht auch über phpMyAdmin: [SQL Erklären])




-- 
Sebastian Mendel

www.sebastianmendel.de
www.sf.net/projects/phpdatetime | www.sf.net/projects/phptimesheet

php::bar PHP Wiki   -   Listenarchive