Ich verstehe die Welt nicht mehr <BR><BR>
Folgender Select:<BR>
select a.*,ar.anrede from adresse a, anrede ar
where a.anrede_id=ar.anrede_id
order by a.adresse_id<BR><BR>
Ohne dem order by wird für den join in Tabelle anrede der index verwendet, alles super...<BR><BR>
mir order verwendet der Optimizer für Tabelle adresse den Index auf das Feld anrede_id anstatt adresse_id und für den join wird kein Index verwendet (natural).
Dadurch dauert der select natürlich entsprechend lange.
Und in Tabelle adresse ist das Feld anrede_id auch über Foraign Key mit Feld anrede_id der Tabelle anrede verknüpft.
Mit anderen Tabellen funktioniert das Problemlos.<BR>
Hat jemand schon mal diese Erscheinung gehabt und gelöst?<BR><BR>
Frank
Folgender Select:<BR>
select a.*,ar.anrede from adresse a, anrede ar
where a.anrede_id=ar.anrede_id
order by a.adresse_id<BR><BR>
Ohne dem order by wird für den join in Tabelle anrede der index verwendet, alles super...<BR><BR>
mir order verwendet der Optimizer für Tabelle adresse den Index auf das Feld anrede_id anstatt adresse_id und für den join wird kein Index verwendet (natural).
Dadurch dauert der select natürlich entsprechend lange.
Und in Tabelle adresse ist das Feld anrede_id auch über Foraign Key mit Feld anrede_id der Tabelle anrede verknüpft.
Mit anderen Tabellen funktioniert das Problemlos.<BR>
Hat jemand schon mal diese Erscheinung gehabt und gelöst?<BR><BR>
Frank
Comment