Saya menyimpan daftar besar poin lnt / lat di database MySQL. Saat ini ini adalah poin yang diproyeksikan untuk Inggris dalam M, tetapi dalam jangka panjang saya ingin memastikan bahwa saya dapat menyimpan koordinat poin untuk seluruh dunia. Jenis data apa yang harus saya gunakan?
Saya mulai menggunakan decimal(18,12)
, tetapi tidak yakin apakah ketepatan ini diperlukan atau apakah saya hanya dapat menggunakan float
. Saya memasukkan kode saya, kalau-kalau ada hal lain yang harus saya pertimbangkan:
CREATE TABLE UKTest
(
lat FLOAT,
lng FLOAT
)
Saya cukup baru untuk SQL jadi saya tidak yakin apakah tipe data signifikan ketika menjalankan kueri. Saya berasumsi bahwa memori keseluruhan akan bervariasi berdasarkan tipe variabel. Apakah ada manfaat menggunakan basis data spasial di atas basis data MySQL dasar untuk jenis pekerjaan ini?
sumber
Kecuali Anda terikat ke MySQL untuk beberapa alasan lain, Anda harus benar-benar mempertimbangkan untuk menggunakan database yang diaktifkan secara spasial seperti postgis yang memiliki objek Point (dan Line, Polygon, dll) untuk menangani detail ini untuk Anda. Anda juga mendapatkan dukungan proyeksi ketika Anda membuat perubahan itu ke seluruh dunia.
2019 : Untuk orang-orang seperti saya yang juga tidak membaca komentar - MySQL mendukung tipe data spasial, konon lebih lambat, tanpa bukti.
sumber