Même 12 chiffres sont ridicules. Je recommande l'un des éléments suivants :
DECIMAL(8,6)/(9,6)
est suffisant pour distinguer deux personnes debout l'une à côté de l'autre. Et je soupçonne que le GPS n'est pas si précis. Total :9 octets pour les deux colonnes.
DECIMAL(6,4)/(7,4)
est suffisant pour les maisons ou les entreprises, sauf qu'il n'y a pas de composante verticale. 7 octets.
Plus de discussion sur la précision lat/lng :http://mysql.rjweb.org/doc .php/latlng#representation_choices ou https://stackoverflow.com/a/50126941/1766831
Côté performance, il n'y a pas beaucoup de différence. Voici les points :
- Plus de décimales prennent plus d'espace disque (et de mémoire cache), ce qui ralentit légèrement les choses.
- Plus de décimales signifie plus de calculs pour travailler avec les chiffres. Encore une fois, ce n'est qu'un léger succès.
Autres tailles que vous avez mentionnées :
lat DECIMAL(17, 13)
lon DECIMAL(17, 13)
prend un total de 16 octets. Pendant ce temps, cette paire :
lat DECIMAL(14, 12)
lon DECIMAL(15, 12)
est seulement un octet plus petit !