我有一个包含地理数据的 SQLite 数据库。我的表是这样定义的:
CREATE TABLE GEO_OBJECTS (ID VARCHAR(30) PRIMARY KEY NOT NULL,
LATITUDE NUMERIC(6,3) NOT NULL,
LONGITUDE NUMERIC(6,3) NOT NULL)
接下来,我的软件 (Java) 正在使用如下简单的 SQL 请求查找 GEO_OBJECTS:
SELECT * FROM GEO_OBJECTS WHERE latitude <= 123.4 AND latitude >= 26.32 AND longitude <= 12.41 AND longitude >= 6.23;
如果我在纬度和经度上创建一个索引,它会提高性能吗?
接下来,当我得到这个查询的结果时,我使用haversine 公式来查找大圆距离内的对象。