Eddie: Ideale Länge für einen INDEX bestimmen

Beitrag lesen

Hallo Frank,

Ausserdem, was bedeutet "riesig"?

Ca. 600 MB, 6.500.000 Einträge.

Und ausser-ausserdem, was hilft _dir_ der grössenoptimierte Index, wenn das Datenbanksystem dann sagt: Was will ich denn damit, da kann ich auch gleich einen Tablescan machen? sprich, ihn nicht benutzt ...

Unter welchen Umständen passiert sowas?

Die "optimale" Länge des Index konvergiert mit deinen SARGs (Search Arguments) ... Also analyisiere wie durchschnittlich nah oder fern, also wie ähnlich die Millionen Einträge in der Spalte sind (der Fachbegriff fällt mir aufgrund der Uhrzeit und des Alkoholgenusses leider grad nicht ein)

Die DB enthält Ortsnamen aus aller Welt: ich gehe also davon aus, dass bei den ersten Zeichen eine maximale Streuung vorliegt. Da aber natürlich die meisten Namen nicht die maximale Länge (nämlich 196 Zeichen) erreichen, nimmt die Streuung nach hinten logischerweise ab. Darum würde so ein längenbegrenzter Index vielleicht schon Sinn machen. Stell ich mir zumindest so vor.

und ziehe eben auch in Betracht, wie du gegen die betroffe Spalte abfragst (so? %argument% ?). Vielleicht ist auch ein normaler Index nicht wirklich angebracht? Sondern du möchtest evt einen Fulltext-Index benutzen.

Ich frage mittels LIKE 'Suchwort%' ab, ein normaler Index genügt also.

Eddie

--
Old men and far travelers may lie with authority.