Mit temporären MySQL-DB´s arbeiten - HILFE

dwex

Erfahrenes Mitglied
Hallo Leute,

ich bastle gerade wieder rum.
Ich bin vor einiger Zeit mal darauf gestossen, dass man Daten temporär in einer MySQL-DB ablegen kann und dann z.B. die Daten sortiert wieder ausgeben kann.
Ich müsste Daten aus einer DB auslesen dann mit einer while-Schleife die Daten Zeile für Zeile bearbeiten und was berechnen und dann - zwischenlagern in einer temp-DB und dort dann noch sortieren und wieder über eine while ausgeben.

Hat jemand (hpvw ) vielleicht eine Idee wie das funktionieren könnte?
 
Vielleicht ist das ja gar nicht nötig. Du kannst auch im Query Berechnungen durchführen.
Beispiel:
Code:
SELECT
  a,
  b,
  a+b AS c
FROM Tabelle
Unter den mathematischen Funktionen findest Du weitere Möglichkeiten, auch für komplexere Formeln.

Wenn Du zum Berechnen zwingend auf PHP angewiesen bist, halte ich es nicht für sinnvoll, eine temporäre Tabelle mit all den Daten zu füllen, um diese zu sortieren. Du könntest alle erhaltenen Zeilen mit den Berechnungen in ein Array schreiben und dieses mit [phpf]usort[/phpf]sortieren.

Gruß hpvw
 
Hallo hpvw,

ich wusste du würdest antworten ;) :-)

Was ich machen möchte ist eine Entfernungsberechnung durchführen - siehe folgenden Thread von mir: http://www.tutorials.de/tutorials217768.html

Jetzt möchte ich aber nicht die Ergebnisse der Entfernungsberechnung ausgeben sondern in einer zweiten DB nach übereinstimmenden Personen suchen und diese dann sortiert nach Entfernung ausgeben.
Die Längen und Breitengrade könnte ich natürlich in der DB der Personen für jede Person speicheren - das erscheint mir auch sinnvoll.
Wenn ich die Berechnung auch über MySQL machen kann wäre mir das natürlich sehr recht - das spart einiges an Code denke ich.

Wie würdest du (als alter MySQL-Profi) das machen?
 
Es ist grundsätzlich möglich, im Query eine Entfernungsberechnung durchzuführen.

Bei sehr vielen Einträgen weiß ich aber nicht, ob das im Query nicht zu lange dauert.

Es gab in letzter Zeit mindestens zwei weitere Posts zur Entfernungsberechnung, vielleicht hilft Dir dieser ja weiter. Unter anderem haben wir da Möglichkeiten besprochen, die Ergebnismenge vor einer exakten Entfernungsberechnung einzuschränken und die Ergebnisse in einer eigenen Tabelle zu cachen.

dwex hat gesagt.:
Jetzt möchte ich aber nicht die Ergebnisse der Entfernungsberechnung ausgeben sondern in einer zweiten DB nach übereinstimmenden Personen suchen und diese dann sortiert nach Entfernung ausgeben.
Das solltest Du noch mal genauer erklären.

dwex hat gesagt.:
Die Längen und Breitengrade könnte ich natürlich in der DB der Personen für jede Person speicheren - das erscheint mir auch sinnvoll.
Das sehe ich auch so.

Gruß hpvw
 
Zurück