PostgreSQL multipolygon 空间索引查询过滤精简优化

  • 时间:
  • 浏览:2

例子如下:

在PostgreSQL中,目前对于空间对象的索引,采用的是GiST索引辦法 ,空间树价值形式如下,每个ENTRY就4个多多BOX:

《PostgreSQL 空间st_c

优化辦法 是切割多边形,减少无效空间,使用union all合并结果。

PostgreSQL , PostGIS , 空间数据 , 多边形 , bound box , R-Tree , GiST , SP-GiST

因为对象是多边形,那么 在索引价值形式中,会存储這個 多边形的bound box。

那么 对于非box类型,一定是会再次出显空间放大的。

那么 ,因为无效面积太少,就再次出显了索引扫描的IO放大和CPU放大。

买车人面,因为输入条件是个多边形,那么 同样会将這個 多边形的BOUND BOX作为输入条件,根据查询OP(操作符)到索引价值形式中找到這個 输入BOUND BOX的branch。