phpbar.de logo

Mailinglisten-Archive

[php] mysql-Query - performence

[php] mysql-Query - performence

Wesley Crusher WesleyCrusher_(at)_t-online.de
Mon, 29 Jan 2001 23:16:01 +0100


> 
> 1. select distinct users.username from users left outer join daten 
> using(username) where daten.lastdl='2001-01-29'
> 
> 2. select distinct users.username from users,daten where 
> users.username=daten.username and daten.lastdl>='2001-01-29' order by 
> username
> 
Hi,

und bei Dir braucht die erste Abfrage fünf Sec und die 2. nur eine Sec?

*wunder* also rein theoretisch müsste es IMHO andersrum sein - Begründung:

In der 1. Abfrage verknüpft MySQL die beiden Felder username miteinander - eben
bevor die Abfrage ausgeführt wird. Beim zweiten ist das nicht verknüpft sondern
es wird für jeden username aus users die gaaaaaaaanze Tabelle daten Datensatz
für Datensatz durchgegangen und die Felder username verglichen ... und das für
jeden Datensatz...immer wieder bei daten oben anfangen und bis unten
durcharbeiten...

Von daher müsste _eigentlich_ die zweite länger dauern - wieder mal Theorie
agains Praxis - Praxis wins 10:0 ;)

Bye


Wesley


php::bar PHP Wiki   -   Listenarchive