Diskussion
MySQL Geodaten Abfrage – Performance
| G.P. |
Geschrieben am: Sa 19.05.2012, 19:48
|
||
|
AyomRank 7 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Gruppe: Member (aktiv) Beiträge: 1383 Mitglied seit: 21.10.2004 |
Ich habe in meiner Datenbank über eine Millionen Geodaten gespeichert. Für ein kleines Tool ist es wichtig, die Punkte nach ihrer Entfernung vom aktuellen Standort zu ordnen, dafür verwende ich bisher folgende MySQL Abfrage
Da hierbei aber jedes mal alle Einträge verglichen werden müssen, ist dies aus Performancesicht denkbar ungünstig. Hat jemand eine Idee wie ich dieses Problem besser lösen kann? -------------------- Freiwilligendienst im Ausland
Bundesfreiwilligendienst – Freiwilligendienst in Deutschland Weltwärts Blog - News für Freiwillige im Ausland |
||
![]() |
| edvschrat |
#2 Geschrieben am: So 20.05.2012, 08:18 (+12:30)
|
|
AyomRank 4 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Gruppe: Member (aktiv) Beiträge: 50 Mitglied seit: 10.07.2010 |
Moin Moin,
sowas packt man auch in R-Bäume oder M-Bäume. für die Suchmaschiene: b-tree, m-tree, geospatial, r-tree PostgreSQL mit r-tree, r-tree_gist SQLite r-tree für 2-5 Dimensionen Geoinfosysteme, Geoinformatik Wie genau muss das sein? Erdkrümmung berücksichtigen? Eventuell reichen auch schon Entfernungsspalten über die man indexiert. Viel Spass edvschrat |
![]() |
| G.P. |
#3 Geschrieben am: So 20.05.2012, 15:11 (+06:52)
|
|
AyomRank 7 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Gruppe: Member (aktiv) Beiträge: 1383 Mitglied seit: 21.10.2004 |
Danke für die Hinweise, ich wird mich demnächst in die Themen einlesen.
Die Genauigkeit muss nicht besonders hoch sein, die Erdkrümmung kann daher ruhig ignoriert werden. Wie genau funktionieren denn Entfernungsspalten? Danke für deine Hilfe -------------------- Freiwilligendienst im Ausland
Bundesfreiwilligendienst – Freiwilligendienst in Deutschland Weltwärts Blog - News für Freiwillige im Ausland |
![]() |
| Sancheck |
#4 Geschrieben am: So 20.05.2012, 16:58 (+01:46)
|
|
AyomRank 8 Gruppe: VIP Mitglied Beiträge: 1771 Mitglied seit: 29.03.2008 |
Du könntest die letzten ziffern entfenren, und dann das in eine tabelle schreiben und darüber einen index setzen
-------------------- |
![]() |
| PH |
#5 Geschrieben am: So 20.05.2012, 17:43 (+00:45)
|
![]() AyomRank 9 Gruppe: Moderator, VIP-Mitglied Beiträge: 2528 Mitglied seit: 29.08.2004 |
Die Quadratwurzel ist überflüssig, wenn das Ziel wie beschrieben nur das ordnen ist.
Ausserdem denke ich nicht, dass jedesmal die Million Punkte geordnet werden muss. Mach doch voher einen Select auf ein Koordinaten-Quadrat und ordne dann das Subset z.B. wenn du ab dem Punkt sX,sY suchst, mach einen Where X > sX-1 and X < sX+1 and Y > sY-1 and Y < sY+1 Indexiere die Spalten X und Y, und dies sollte die Abfrage massiv beschleunigen -------------------- Disclaimer: Ich gebe manchmal rechtliche Tips, aber ich bin kein Anwalt, sondern verfüge nur über Erfahrung in diesem Bereich sowie über eine Ausbildung in Wettbewerbsrecht, Handelsrecht, Vertragsrecht, Privatrecht und Markenrecht (jeweils immer auch aus internationaler Perspektive), die Teil meines Studiums war.
Ich gebe rechtliche Tips, weil mich diese Themen interessieren und weil mir dies nach dem Gesetz meines Aufenthaltslandes und dem Schweizer Gesetz gestattet ist. Es ist dem Leser überlassen, was er mit diesen Tips anfängt - ich übernehme keinerlei Haftung für meine Ausführungen. |
![]() |
| G.P. |
#6 Geschrieben am: Fr 25.05.2012, 07:39 (+4d 13:55)
|
|
AyomRank 7 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Gruppe: Member (aktiv) Beiträge: 1383 Mitglied seit: 21.10.2004 |
Danke für das viele Feedback
-------------------- Freiwilligendienst im Ausland
Bundesfreiwilligendienst – Freiwilligendienst in Deutschland Weltwärts Blog - News für Freiwillige im Ausland |
![]() |
Thema wird von 0 Benutzer(n) gelesen (0 Gäste und 0 anonyme Benutzer)
0 Mitglieder:
![]() |
![]() ![]() ![]() |
| Themen Titel | Autor | Views | Antworten | Letzte Aktion |
| String an MySQl-Tabelle anhängen | Tom G | 247 | 2 | Mo 13.05.2013, 06:47 |
| Suche mysql Profi | RickiMales | 328 | 0 | Do 18.04.2013, 18:26 |
| Hilfe bei SQL-Abfrage benötigt | Tom G | 432 | 2 | Mo 8.04.2013, 20:07 |
| mysql LOCKED verhindern in PHP | Sancheck | 272 | 1 | Mo 25.03.2013, 10:49 |
| MySQL Update | milkboy | 300 | 4 | So 24.03.2013, 22:19 |
| mySQL JOIN über 600.000 Daten | UBerer | 403 | 3 | Do 21.03.2013, 18:16 |
| Browser direkte Abfrage auf Server | Piero50 | 297 | 4 | Fr 8.03.2013, 13:28 |
| Dateidownload, readfile() & Performance | cd_brenner | 314 | 2 | Di 12.02.2013, 07:58 |
| Mysql Abfrage | webdoktor | 445 | 3 | Fr 4.01.2013, 13:28 |
Neu: Kleinanzeige pinnen | Kleinanzeige auf Startseite | Werbetarife 2013 | VIP Mitgliedschaft (30 Tage Geld-zurück-Garantie)















