Tom: Laufzeit mit Entfernungstabelle verkürzen?

Beitrag lesen

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.45

Dann 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

--
 ☻_
/▌
/ \ Nur selber lernen macht schlau
http://bergpost.annerschbarrich.de