我正在设计一个MySQL表,用于存储用户列表和Google地图的坐标(经度和纬度)。
我需要两个字段存储吗?还是只需要一个字段就可以了?
我不知道应该使用什么数据类型,是使用float、decimal、GEOMETRY还是存在新的数据类型?选择最佳数据类型有哪些优缺点?
http://www.rooftopsolutions.nl/blog/229
CREATE TABLE geo (
longitude DOUBLE,
latitude DOUBLE,
idxlong SMALLINT,
idxlat SMALLINT,
INDEX (idxlong,idxlat);
);
method small medium large
plain select 1.73s
index on latitude 0.72s
using point field 9.52s
using point field + spatial index 0.00s 0.73s 18.82s
using morton number 0.78s
index on morton 0.00s 0.65s 3.23s
DECIMAL(11, 8)
(小数点前3位,小数点后8位)FLOAT
1.999999
将在十进制列中存储为1.999999
,但在浮点列中存储为2.0
。