Thorsten: Umkreissuche sehr umstaendlich

Beitrag lesen

Habe die Abfrage auf das Minimum reduziert und bekomme das Ergebniss sehr schell geliefert.

SELECT
    plz
    FROM
    orte
    WHERE
    SQRT(('8.66659371820483' - laenge) * ('8.66659371820483'- laenge) + ('53.0688712237578' - breite) * ('53.0688712237578' - breite))  <= '2.24955008998'

Antwort in 0.0019 sek.

Und das bei einem Umkreis von 250km.

Der Join auf die Event Tabelle kostet dann richtig Zeit /Speicher.

Da bei 5 Events die Rechnung 40900 mal durchgeführt wird und das ist doch falsch. Er muss dieses nur 8180 mal durchführen.
Er brauch dann auch kein Full table scan auf die Tabelle Events machen.

Wie bau ich das jetzt in der gleiche Abfrage ein das er diese nicht mehr macht? Kann man das mit einem Subselect machen?#

Wenn ich das weiß, haben wir doch das Problem gelöst.