Ich arbeite an GPS-Standort, wo ich Breite und Länge in entsprechende Adresse konvertieren müssen. Ich habe eine Datenbank mit allen Breiten- und Längengraden (mehr als 1,50000 Daten) mit ihrer tatsächlichen Landmarke, d. H. Adresse in einer Haupttabelle.Ort zählen Problem in Java-Programm
Wir haben GPS-Gerät auf vielen Fahrzeugen installiert, die sich über alle geografischen Standorte bewegt. Alle 2 Minuten sendet das Gerät die aktuelle Position in Längen- und Breitengraden, ich erhalte diesen Breiten- und Längengrad und kartographiere den Master-Tisch und überprüfe, in welcher Region sich unser Master-Tisch befindet. Für diese Berechnung mache ich eine mathematische Operation, um einen Delta-Wert zu Breiten- und Längengrad vom Fahrzeug zu addieren und dann die nächste Suche aus meiner Stammtabelle zu finden. Sobald wir finden, dass das Fahrzeug 5 km vom XYZ-Standort entfernt ist, erhalten wir den XYZ-Standort Master-Tabelle, die der nächste Punkt ist.
Dieses Programm benötigt viel Zeit, um den Standort zu berechnen, da wir 10.000 GPS-Geräte im Fahrzeug installiert haben und jedes Gerät GPS-Daten in 2 Minuten sendet, so können Sie sich vorstellen, wie viele Daten wir bekommen.
Könnten Sie mir bitte helfen, dieses Problem zu beheben und es sehr skalierbar und schnell zu machen.
Vielen Dank im Voraus.
zerlegen Sie es in die Einzelteile und sehen Sie, was am längsten dauert, konzentrieren Sie Ihre Bemühungen dort. Ist es das Senden der Daten zurück? Ist es die Berechnung? ist es die SQL-Suche nach dem Standort? Was nimmt sich die Zeit? Sie müssen es in A -> B -> C -> D -> E -> F usw. zerlegen und herausfinden, wie lange jeder Schritt dauert und konzentrieren Sie Ihre Zeit darauf, wo Sie den größten Knall dafür bekommen der Bock. Mach weiter, bis die Leistung akzeptabel ist. Wenn Sie die Zeit nicht von A -> F verfolgen können, müssen Sie sie erstellen. – xQbert
@xQbert Wir haben eine Tabelle, wo wir drei Spalten Breite, Länge und Position haben - sobald ich einen beliebigen Längen- und Breitengrad vom Gerät bekommen wir in Spalte Breite und Länge einfügen, aber wir fügen nichts in Location Spalte, nach der Berechnung mit Master-Tabelle Durch das Senden von Längen- und Breitengrad erhalten wir einen Ort wie 5 KM von XYZ, dann aktualisieren wir in der Standortspalte der ersten Tabelle.Die Überquerung von Breiten- und Längengrad zur Master-Tabelle, um den nächstgelegenen Standort von unserem verfügbaren Orientierungspunkt in der Master-Tabelle zu erhalten, erfordert viel Zeit. Ich bitte um Hilfe, um mich hier zu verbessern. danke – geekIndiana
Also hast du eine Prozedur? Funktion? oder etwas, das in SQL Server 200X lange ausgeführt wird? oder MySQL, oder ORACLE oder DB2 oder ... Wenn dies der Fall ist, würde es hilfreich sein, Dinge wie den eigentlichen SQL mit langer Laufzeit und den Ausführungsplan zu sehen, um die Performance zu verbessern. Oder führen Sie wiederholte Versuche von Java zur Datenbank durch, um den "nächsten" Orientierungspunkt zu finden? – xQbert