如果我在纬度* 69和经度* 46上创建索引,以下查询是否可以优化?PostgreSQL列索引查询优化问题
select * from locations where abs(latitude*69 - 3036) <= 25
and abs(longitude*46 - 8970) <= 25
或者我必须删除abs()
和代码它更像是:
select * from locations where (latitude*69 - 3036) between -25 and 25
and (longitude*46 - 8970) between -25 and 25
或甚至更简单:
select * from locations where latitude*69 between 3036-25 and 3036+25
and longitude*46 between 8970-25 and 8970+25
为什么你不只是创建索引和测试它? – splash
什么,并做一些实际的工作? ;)我可以做你正在问的东西,但如果它没有优化它,那么我不知道如何改变它,以便优化。我无法在Postgres网站上找到任何讨论什么是和不可优化的文档 - 您能为此推荐任何资源吗? –