Hallo,
ich will eine Umkreissuche für bestimmte Objekte in einer Datenbank machen. Zuerst werden alle Postleitzahlen in dem Umkreis in der Form gespeichert:
Array (
POSTLEITZAHL1 => ENTFERNUNG_ZUR_EINGABE1,
POSTLEITZAHL2 => ENTFERNUNG_ZUR_EINGABE2,
usw...
)
Nun habe ich in einer Datenbank alle Objekte mit Postleitzahl. Wenn ich nun alle Postleitzwahlen mit OR verknüpfe kann ich so auch alle Objekte aus der Datenbank auslesen (LIMIT damit nur die ausgelesen werden, die auf der Seite angezeigt werden):
SELECT * FROM objekt WHERE plz="01234" OR plz="12345" ... LIMIT 0,10
Allerdings will ich die Objekte nach Entfernung zum Ziel sortieren. Da es am Ende sehr viele Objekte werden, ist es denk ich aber sehr unperformant, alle auszulesen und dann zu sortieren.
Hat jemand von euch eine Idee, wie man das besser lösen könnte. Kann man vielleicht in SQL nach bestimmten Postleitzahlen sortieren; in etwa wie: zuerst alle Objekte mit 01234, dann alle mit 12345, dann aller mit 22222 usw...?
ich will eine Umkreissuche für bestimmte Objekte in einer Datenbank machen. Zuerst werden alle Postleitzahlen in dem Umkreis in der Form gespeichert:
Array (
POSTLEITZAHL1 => ENTFERNUNG_ZUR_EINGABE1,
POSTLEITZAHL2 => ENTFERNUNG_ZUR_EINGABE2,
usw...
)
Nun habe ich in einer Datenbank alle Objekte mit Postleitzahl. Wenn ich nun alle Postleitzwahlen mit OR verknüpfe kann ich so auch alle Objekte aus der Datenbank auslesen (LIMIT damit nur die ausgelesen werden, die auf der Seite angezeigt werden):
SELECT * FROM objekt WHERE plz="01234" OR plz="12345" ... LIMIT 0,10
Allerdings will ich die Objekte nach Entfernung zum Ziel sortieren. Da es am Ende sehr viele Objekte werden, ist es denk ich aber sehr unperformant, alle auszulesen und dann zu sortieren.
Hat jemand von euch eine Idee, wie man das besser lösen könnte. Kann man vielleicht in SQL nach bestimmten Postleitzahlen sortieren; in etwa wie: zuerst alle Objekte mit 01234, dann alle mit 12345, dann aller mit 22222 usw...?
Kommentar