Mailinglisten-Archive |
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