如果我在緯度* 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網站上找到任何討論什麼是和不可優化的文檔 - 您能爲此推薦任何資源嗎? –