请记住,我将在lat / long对上执行计算,什么数据类型最适合与MySQL数据库一起使用?


当前回答

FLOAT应该能给你所需的所有精度,并且比将每个坐标存储为字符串或类似的东西更好地用于比较函数。

如果你的MySQL版本低于5.0.3,你可能需要注意某些浮点比较错误。

在MySQL 5.0.3之前,DECIMAL列以精确的精度存储值,因为它们是用字符串表示的,但DECIMAL值的计算是使用浮点操作完成的。从5.0.3开始,MySQL执行DECIMAL操作的精度为64位十进制数字,这应该可以解决DECIMAL列最常见的不准确问题

其他回答

在GIS中使用MySQL的空间扩展。

根据您的应用程序,我建议使用FLOAT(9,6)

空间键将为您提供更多的功能,但在生产基准测试中,浮点数比空间键快得多。(在AVG中0,01 VS 0,001)

我建议您使用浮动数据类型的SQL Server。

不需要走太远,根据谷歌地图,最好是FLOAT(10,6)的纬度和液化天然气。

MySQL使用double为所有浮点数… 所以使用double类型。在大多数情况下,使用float会导致不可预测的四舍五入值