Zelfs 12 cijfers is belachelijk. Ik raad een van de volgende aan:
DECIMAL(8,6)/(9,6)
is voldoende om twee personen die naast elkaar staan te onderscheiden. En ik vermoed dat GPS niet zo nauwkeurig is. Totaal:9 bytes voor de twee kolommen.
DECIMAL(6,4)/(7,4)
is voldoende voor woningen of bedrijven, behalve dat er geen verticale component is. 7 bytes.
Meer bespreking van lat/lng-precisie:http://mysql.rjweb.org/doc .php/latlng#representation_choices of https://stackoverflow.com/a/50126941/1766831
Qua prestaties is er niet veel verschil. Dit zijn de punten:
- Meer decimalen nemen meer schijfruimte (en RAM-cache) in beslag, dus het vertraagt iets.
- Meer decimalen betekent meer rekenwerk om met de cijfers te werken. Nogmaals, dit is slechts een kleine hit.
Andere maten die je noemde:
lat DECIMAL(17, 13)
lon DECIMAL(17, 13)
duurt in totaal 16 bytes. Ondertussen, dit paar:
lat DECIMAL(14, 12)
lon DECIMAL(15, 12)
is slechts één byte kleiner!