Även 12 siffror är löjligt. Jag rekommenderar något av följande:
DECIMAL(8,6)/(9,6)
är tillräckligt för att särskilja två personer som står bredvid varandra. Och jag misstänker att GPS inte är så exakt. Totalt:9 byte för de två kolumnerna.
DECIMAL(6,4)/(7,4)
är tillräckligt för hus eller företag, förutom att det inte finns någon vertikal komponent. 7 byte.
Mer diskussion om lat/lng-precision:http://mysql.rjweb.org/doc .php/latlng#representation_choices eller https://stackoverflow.com/a/50126941/1766831
När det gäller prestanda är det inte så stor skillnad. Här är punkterna:
- Fler decimaler tar mer diskutrymme (och ram-cache), så sakta saktar ner något.
- Fler decimaler innebär mer beräkning för att arbeta med siffrorna. Återigen, detta är bara en liten träff.
Andra storlekar du nämnde:
lat DECIMAL(17, 13)
lon DECIMAL(17, 13)
tar totalt 16 byte. Under tiden detta par:
lat DECIMAL(14, 12)
lon DECIMAL(15, 12)
är bara en byte mindre!