What is the ideal data type to use when storing latitude / longitude in a MySQL database?

前端 未结 21 2737
梦如初夏
梦如初夏 2020-11-22 09:40

Bearing in mind that I\'ll be performing calculations on lat / long pairs, what datatype is best suited for use with a MySQL database?

21条回答
  •  春和景丽
    2020-11-22 10:16

    Basically it depends on the precision you need for your locations. Using DOUBLE you'll have a 3.5nm precision. DECIMAL(8,6)/(9,6) goes down to 16cm. FLOAT is 1.7m...

    This very interesting table has a more complete list: http://mysql.rjweb.org/doc.php/latlng :

    Datatype               Bytes            Resolution
    
    Deg*100 (SMALLINT)     4      1570 m    1.0 mi  Cities
    DECIMAL(4,2)/(5,2)     5      1570 m    1.0 mi  Cities
    SMALLINT scaled        4       682 m    0.4 mi  Cities
    Deg*10000 (MEDIUMINT)  6        16 m     52 ft  Houses/Businesses
    DECIMAL(6,4)/(7,4)     7        16 m     52 ft  Houses/Businesses
    MEDIUMINT scaled       6       2.7 m    8.8 ft
    FLOAT                  8       1.7 m    5.6 ft
    DECIMAL(8,6)/(9,6)     9        16cm    1/2 ft  Friends in a mall
    Deg*10000000 (INT)     8        16mm    5/8 in  Marbles
    DOUBLE                16       3.5nm     ...    Fleas on a dog
    

    Hope this helps.

提交回复
热议问题