基于几何列分区PostgreSQL表

时间:2012-05-23 14:54:08

标签: geolocation geospatial postgis postgresql-9.1

以下是包含几何字段的表:

         Table "public.regions"
  Column   |         Type          |
-----------+-----------------------+-
 id        | integer               | 
 parent_id | integer               |
 level     | integer               |
 name      | character varying(55) |
 location  | geometry              |

我已经存储了所有大洲,国家,州和城市的几何图形。由于它是一个巨大的表,我需要根据顶级位置(即大陆)对表进行分区以提高性能。

如何根据几何(大陆)对现有表进行分区?是否足以创建名为asia,europe,australia的继承表...并根据包含查询的查询在这些表中插入行?这会改善我的查询性能吗?

例如。我正在尝试运行以下查询:

  

11.562424 48.148679是慕尼黑的一点

     

EXPLAIN ANALYZE SELECT区域,名称,级别FROM区域WHERE   包含((位置),(GeomFromText('Point(11.562424 48.148679)')));

在我的计算机中使用PG需要大约500毫秒,而在Oracle中相同的查询大约需要200毫秒。

0 个答案:

没有答案