Selv 12 cifre er latterligt. Jeg anbefaler en af følgende:
DECIMAL(8,6)/(9,6)
er tilstrækkeligt til at skelne mellem to personer, der står ved siden af hinanden. Og jeg formoder, at GPS ikke er så præcis. I alt:9 bytes for de to kolonner.
DECIMAL(6,4)/(7,4)
er tilstrækkeligt til huse eller virksomheder, bortset fra at der ikke er nogen vertikal komponent. 7 bytes.
Mere diskussion af lat/lng-præcision:http://mysql.rjweb.org/doc .php/latlng#representation_choices eller https://stackoverflow.com/a/50126941/1766831
Med hensyn til ydeevne er der ikke den store forskel. Her er punkterne:
- Flere decimaler tager mere disk- (og ram-cache) plads, så tingene går lidt langsommere.
- Flere decimaler betyder mere beregning for at arbejde med cifrene. Igen, dette er kun et lille hit.
Andre størrelser, du nævnte:
lat DECIMAL(17, 13)
lon DECIMAL(17, 13)
tager i alt 16 bytes. I mellemtiden, dette par:
lat DECIMAL(14, 12)
lon DECIMAL(15, 12)
er kun en byte mindre!