phpbar.de logo

Mailinglisten-Archive

Re: mysql und index
Archiv Mailingliste mysql-de

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

Re: mysql und index



Ich kann nur auf Erfahrungen mit Informix zurückgreifen.
Prinzipiell sollte die DB versuchen, mit der selektivsten Bedingung
anzufangen. Am liebsten nimmt sie dafür einen Index. Wenn aber viele
Ergebniszeilen erwartet werden, ist das Lesen über den Index langsamer als
ein sequenzieller Scan. Die Frage ist nur, wie berechnet die DB die
erwartete Ergebnismenge. Je nach Genauigkeit des Index werden größter und
kleinster Wert oder noch mehr oder weniger Stützpunkte gemerkt und auch noch
die Häufigkeit der Werte. Wenn die Werte quasi unique sind, ist die
Ergebnismenge klein und der Index Scan prima. Gibt es bei 80000 Zeilen aber
nur 10 verschiedene Werte, dann ist die Selektivität sehr schlecht und der
sequenzielle Scan besser. Um richtig entscheiden zu können, sollten da die
Statistik Werte upgedatet werden. Und wenn es dann immernoch nicht hilft,
gib nen Index mit hoeherem Fillfaktor (mehr Stützpunkte).

-----Original Message-----
From: Elmar Haneke <elmar_(at)_haneke.de>
To: mysql-de_(at)_lists.4t2.com <mysql-de_(at)_lists.4t2.com>
Date: Wednesday, June 23, 1999 10:38 AM
Subject: Re: mysql und index




Timo Maier schrieb:
>
> Hi!
>
> MySQL neuste Version auf Warp4. Table mit ca. 80.000 Eintraegen.
> Index auf Feld FART und Feld NUMMER.
> Ein "Select * from pos where fart='R' and Nummer=50212" braucht ca. 5 sec
(viel
> zu langsam) mit Index.
> Erstelle ich den Table ohne Index, braucht die Query genauso lange.
Irgendwie
> wird, so scheint mir, der Index nicht benutzt ("show index from pos"
zeigt die
> indexe an, wie es sein soll)
> Also, die Indexe sind da, aber bringen irgendwie nix. Was mache ich
falsch?

Wie selektiv sind die Indexe, d.h. wieviele identische Eintragungen
gibt es jeweils. Eventuell hilft es, die Statistiken mittels isamchk
zu aktualisieren. Für diese Abfrage optimal währe ein Index, der beide
Felder beinhaltet.

Elmar



Home | Main Index | Thread Index

php::bar PHP Wiki   -   Listenarchive