Mailinglisten-Archive |
Hallo,
auf http://www.problemloeser.de/d1.htm habe ich einen artikel
gefunden, wie joins optimiert werden können.
Überraschender weise ist das ergebnis mit mySQL jedoch anders, als
(für andere DB's?) vorhergesagt.
Ziel: Ich will die personenanzahl aller orte, in denen die personen
keiner niederlassung angehören. Dazu habe ich folgendes statement:
select distinct(a.ort), count(a.id) as anzahl
from person a,
rel_niederlassung_person b
where a.id != b.person_id
group by ort
order by ort
Tabelle person enthält ca. 4000 records. Ergebnis: 0.60 sekunden
execution time
Wenn ich hingegen (wie auf obiger page vorgeschlagen)
select distinct(a.ort), count(a.id) as anzahl
from person a
left join rel_niederlassung_person b
on a.id != b.person_id
group by ort
order by ort
benutze, komme ich auf 0.88 sek. execution time.
Ist nun die info der obigen page falsch oder gibt es andere gründe,
warum das zweite statement langsamer ist?
ciao
amalesh
--
CaupoShop (OS) : http://www.caupo.de/shop_download.php3
Keep Agent alive: http://www.living-source.com/agent/
LS at CCC-Camp : http://www.living-source.com/cccdiary/
Contact : ak_(at)_living-source.com ~ icq:963380
---
*** Abmelden von dieser Mailingliste funktioniert per E-Mail
*** an mysql-de-request_(at)_lists.4t2.com mit Betreff/Subject: unsubscribe
php::bar PHP Wiki - Listenarchive