Estou armazenando uma grande lista de pontos lnt / lat em um banco de dados MySQL. No momento, esses são pontos projetados para o Reino Unido em M, mas, a longo prazo, gostaria de garantir que eu possa armazenar as coordenadas dos pontos em todo o mundo. Que tipo de dados devo usar?
Comecei a usar decimal(18,12)
, mas não tinha certeza se essa precisão é necessária ou se eu poderia apenas usar a float
. Incluí meu código, caso haja mais alguma coisa que eu deva considerar:
CREATE TABLE UKTest
(
lat FLOAT,
lng FLOAT
)
Eu sou bastante novo no SQL, portanto, não tenho certeza se o tipo de dados é significativo ao executar uma consulta. Eu assumi que a memória geral variaria com base no tipo de variável. Existe um benefício em usar um banco de dados espacial sobre um banco de dados MySQL básico para esse tipo de trabalho?
fonte
A menos que você esteja vinculado ao MySQL por algum outro motivo, considere realmente usar um banco de dados espacialmente ativado, como o postgis, que possui um objeto Point (and Line, Polygon etc) para lidar com esses detalhes. Você também recebe suporte para projeção quando faz essa alteração no mundo inteiro.
2019 : Para pessoas como eu, que também não leem comentários - o MySQL suporta tipos de dados espaciais, supostamente mais lentos, sem evidências.
fonte