Nawet 12 cyfr jest niedorzeczne. Polecam jedno z poniższych:
DECIMAL(8,6)/(9,6)
wystarczy, aby odróżnić dwie osoby stojące obok siebie. I podejrzewam, że GPS nie jest aż tak precyzyjny. Łącznie:9 bajtów na dwie kolumny.
DECIMAL(6,4)/(7,4)
wystarcza w przypadku domów lub firm, z wyjątkiem braku elementu pionowego. 7 bajtów.
Więcej omówienia precyzji lat/lng:http://mysql.rjweb.org/doc .php/latlng#representation_choices lub https://stackoverflow.com/a/50126941/1766831
Jeśli chodzi o wydajność, nie ma dużej różnicy. Oto punkty:
- Więcej miejsc dziesiętnych zajmuje więcej miejsca na dysku (i pamięci podręcznej pamięci RAM), więc nieco spowalnia działanie.
- Więcej miejsc dziesiętnych oznacza więcej obliczeń do pracy z cyframi. Ponownie, to tylko niewielki hit.
Inne wymienione przez Ciebie rozmiary:
lat DECIMAL(17, 13)
lon DECIMAL(17, 13)
zajmuje łącznie 16 bajtów. Tymczasem ta para:
lat DECIMAL(14, 12)
lon DECIMAL(15, 12)
jest tylko o jeden bajt mniejszy!