Ich speichere eine große Liste von lnt / lat-Punkten in einer MySQL-Datenbank. Im Moment sind dies projizierte Punkte für Großbritannien in M, aber langfristig möchte ich sicherstellen, dass ich die Koordinaten von Punkten für die ganze Welt speichern kann. Welchen Datentyp soll ich verwenden?
Ich habe angefangen zu verwenden decimal(18,12)
, war mir aber nicht sicher, ob diese Präzision erforderlich ist oder ob ich einfach eine verwenden könnte float
. Ich habe meinen Code eingefügt, falls es noch etwas gibt, über das ich nachdenken sollte:
CREATE TABLE UKTest
(
lat FLOAT,
lng FLOAT
)
Ich bin ein Neuling in SQL, daher bin ich mir nicht sicher, ob der Datentyp beim Ausführen einer Abfrage von Bedeutung ist. Ich nahm an, dass der Gesamtspeicher je nach Variablentyp variieren würde. Gibt es einen Vorteil bei der Verwendung einer räumlichen Datenbank gegenüber einer grundlegenden MySQL-Datenbank für diese Art von Arbeit?
quelle
Sofern Sie aus irgendeinem anderen Grund nicht an MySQL gebunden sind, sollten Sie in Betracht ziehen, eine räumlich aktivierte Datenbank wie postgis zu verwenden, die über ein Point- (und Line-, Polygon- usw.) Objekt verfügt, um diese Details für Sie zu verarbeiten. Sie erhalten auch Projektionsunterstützung, wenn Sie diese Änderung für die ganze Welt vornehmen.
2019 : Für Leute wie mich, die auch keine Kommentare lesen - MySQL unterstützt räumliche Datentypen, angeblich langsamer, ohne Beweise.
quelle