Linuchs: Umkreissuche

Beitrag lesen

Wieviele Datenstätze hat die Tabelle? Sind das die 1150?

Genau. Ich habe 1150 Adressen (Tabelle adressen), verknüpft mit je einem Ort (Tabelle orte). In orte sind die geogr. Koordinaten.

Dann sind 1.214 sec. bestimmt nicht "blitzschnell".

In einem anderen Beispiel benötigt die Suche und Aufbereitung von 25 Terminen mit Entfernungsangabe nur 0.124 sec. Ist in ein Konzept eingebunden, in dem ein Cookie das Zentrum definiert, also nicht per Link zu zeigen.

Um das "wissenschaftlich" zu untersuchen, könnte man ja die Zeit für die Ausführung des SQL-Kommandos messen. Und mit der Lösung vergleichen, die eine Vor-Auswahl trifft.

Passt in meinem Projekt aber nicht immer, weil diese "between" Sache über die Pole versagt. Oder?

Und wenn ich das Statement nun auf die Tabellen der OpenGeoDB ansetze (die haben ein paar 100.000 Datensätze), dann kannst Du dir sicherlich vorstellen, wie die Zeit in die Höhe geht.

Was ist denn das für eine Anwendung? Willst du nach allen Dörfern in der OpenGeoDB suchen? Ich suche nach Adressen, die mit genau einem Ort verknüpft sind.

SELECT
...
FROM      (".$db[0]['adressen']." adr1
          ,".$db[0]['orte']." ort1 )
...
WHERE     ort1.id = adr1.ort_id
...

Ich habe irgendwas um die 15000 Orte. Meinst du, wenn das zehnmal so viele wären, schlägt das merklich auf die Zeit?

Es kann hier nämlich kein Index benutzt werden, wie es bei "between" möglich wäre.

Hä? ID ist einer der schnellsten Indexe.

Wo läuft das? Auf deinem Host?

Ja.

Gruß, Linuchs