【问题标题】:latitude and longitude mysql column FLOAT(10,6) vs DECIMAL(10,6)经纬度 mysql 列 FLOAT(10,6) vs DECIMAL(10,6)
【发布时间】:2016-01-26 10:48:04
【问题描述】:

对于纬度和经度字段我应该使用 FLOAT(10,6) 吗?还是 DECIMAL(10,6)?

哪一个最适合MySql?我可以使用 PhpMyAdmin 向两个字段添加索引以使它们可搜索,我只是想知道在 Mysql 不更改我导入的任何内容的情况下哪种类型最有效。

【问题讨论】:

  • 您现在可以使用(地理)空间数据类型。更多信息请查看dev.mysql.com/doc/refman/5.7/en/spatial-extensions.html
  • 我添加了表格,然后单击了更改(使用 PhpMyAdmin),并将类型更改为几何,但它不会让我创建它,因为我不知道长度,如果我把10,6,它给了我一个错误。我应该放多长?
  • 无论是 FLOAT 还是 DOUBLE,您都不会得到 16 位小数的精度。

标签: mysql latitude-longitude


【解决方案1】:

我知道没有正当理由将(M,N) 放在FLOATDOUBLE 上。它会导致第二次舍入。一些选择:

                    bytes     Resolution
DECIMAL(6,4)/(7,4)     7    16 m     52 ft
FLOAT                  8   1.7 m    5.6 ft

至于“最佳”,这取决于您将如何处理它们。

Geometry 对于大多数应用程序来说可能是多余的。在进入该领域之前,请先了解所涉及的内容。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-06
    • 2018-05-19
    • 1970-01-01
    • 2013-12-29
    • 1970-01-01
    • 1970-01-01
    • 2013-09-09
    • 2013-01-04
    相关资源
    最近更新 更多