sql >> Base de Datos >  >> RDS >> Mysql

¿Tiene impacto en el rendimiento cuando se usa DECIMAL(17,13) para datos de Latitud y Longitud en MySQL?

Incluso 12 dígitos es ridículo. Recomiendo uno de los siguientes:

DECIMAL(8,6)/(9,6) es suficiente para distinguir a dos personas de pie una al lado de la otra. Y sospecho que el GPS no es tan preciso. Total:9 bytes para las dos columnas.

DECIMAL(6,4)/(7,4) es suficiente para casas o negocios, excepto que no hay componente vertical. 7 bytes.

Más discusión sobre precisión lat/lng:http://mysql.rjweb.org/doc .php/latlng#representation_choices o https://stackoverflow.com/a/50126941/1766831

En cuanto al rendimiento, no hay mucha diferencia. Estos son los puntos:

  • Más lugares decimales ocupan más espacio en disco (y memoria RAM), por lo que ralentiza un poco las cosas.
  • Más lugares decimales significa más cómputo para trabajar con los dígitos. Una vez más, esto es solo un pequeño golpe.

Otros tamaños que mencionaste:

lat DECIMAL(17, 13)
lon DECIMAL(17, 13)

ocupa un total de 16 bytes. Mientras tanto, esta pareja:

lat DECIMAL(14, 12)
lon DECIMAL(15, 12)

¡es solo un byte más pequeño!