以下是包含几何字段的表:
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毫秒。