phpbar.de logo

Mailinglisten-Archive

Re: MySQL schneller machen?
Archiv Mailingliste mysql-de

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: MySQL schneller machen?





Nico Puhlmann wrote:

> SELECT artists.id, artists.ean, artists.name, artists.titel, sounds.ean,
> sounds.nr, sounds.cd, sounds.url,
>     trk.ean, trk.cd, trk.nr, trk.titel FROM artists, sounds, trk WHERE
> sounds.ean=trk.ean AND
>     sounds.ean=artists.ean AND sounds.cd=trk.cd AND sounds.nr=trk.nr

Richte mal auf allen im Where-Teil genannten Feldern einen Index 
ein und schau Dir dann die Ausführungszeit und die Ausgabe von 
Describe an.

Intuitiv würde ich, ohne Statistiken der Tabellen zu verwenden, 
folgendes Ausführungsschema verwenden:

Sounds wird sortiert nach EAN,nr,cd gelesen
	-> Index auf Sounds.EAN,Sounds.nr,Sounds.cd empfehlenswert
trk wird sortiert nach EAN,dr,cd gelesen
	-> Index auf trk.EAN,trk.nr,trk.cd empfehlenswert
artists wird sortiert nach EAN gelesen
	-> Index auf artists.EAN empfehlenswert

Die auszugebenden Tupel können ziemlich direkt ausgelesen werden, 
wenn die drei Lesevorgänge "parallel" stattfinden.

Ob MySQL diese Art der Index-Verwertung hinkriegt, weiß 
ich allerdings nicht. Ausprobieren solltest Du die drei Indices aber
auf jeden Fall.

Elmar


-- 
==========================================================
|Dr. Elmar Haneke                     Tel: +49-2244-80361|
|Haneke Elektronik - Software         Fax: +49-2244-3649 |
|53639 Königswinter                   WWW: www.haneke.de |
==========================================================

---
*** Abmelden von dieser Mailingliste funktioniert per E-Mail
*** an mysql-de-request_(at)_lists.4t2.com mit Betreff/Subject: unsubscribe


Home | Main Index | Thread Index

php::bar PHP Wiki   -   Listenarchive