我应该为我的select,DB使用哪些索引

时间:2016-07-28 15:35:04

标签: sqlite select indexing

这是我的SQLite DB。我应该为这个选择的最快性能创建哪些索引,我的选择是否正确?

select way_id,way_pos,lat,lon,tag 
from way_nodes
join nodes using(node_id)
join ways_tags using(way_id) 
where lat < someValue1 
and lat > someValue2 
and lon < someValue3 
and lon > someValue4
order by way_nodes.way_id, way_pos;

现在,这个选择需要40秒(超过百万个节点,140万个way_nodes,cca 100 000个方式)。我只使用选择所以我不在乎索引缓慢更新,..

1 个答案:

答案 0 :(得分:0)

要找出估计哪些索引实际有用,use EXPLAIN QUERY PLAN

使用lat和/或lon上的索引可能无济于事。

优化多维间隔查询没有好方法,除非使用为此设计的索引,即R-tree