Hello,
Wenn es wirklich sehr viele Abfragen sind (wird ja wohl der Kern Deines Skriptes sein), dann lohnt es sich eine Tabelle anzulegen, die jeweils die Entfernungen zwischen den Locations beinhaltet:
LOC_ID_1; LOC_ID_2 ENTF
12200;123567;556.45Dann kannst Du Mit einem
SELECT LOC_ID_1, LOC_ID_2, FROM entfernungen
WHERE
ENTF <= $entf
AND (
(LOC_ID_1 = $intLOC)
OR
(LOC_ID_2 = $intLOC)
);Deine Datentabelle hat dann zwar eine ganze Menge Einträge, aber den Speicher zu investieren lohnt sich.
Das löst aber immer noch nicht das Problem der Duplizität der Paare. Ich gehe davon aus, dass "Entfernung" hier der Absolutwert eines Skalars ist und keine gerichtete Größe (Vektor).
Es muss also einen Mechanismus geben (Stored Procedure), der zum Abfragen und zum Eintragen eines Paares erst eine Ordnung in das Paar bringt, also z.B. den alphanumerisch kleineren Ort immer auf der linken Seite nennt.
Sonst wären nachher doch alle Paare doppelt vorhanden
A - B
B - A
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
