首页 / 浏览问题 / 桌面GIS / 问题详情
postgis数据源的单表5000万数据量的面数据的存储查询
18EXP 2023年10月07日
请问对postgis数据源的单表5000万数据量的面数据的存储查询有什么比较好的优化建议么?

1个回答

您好,如果要对属性进行查询,建议先对数据创建字段索引。字段索引是数据库系统或者其他计算机系统中提供键值快速定位的数据结构。字段索引提供了对特定键值的数据快速访问的能力。字段索引一般采用B树(即二叉树)或者B树的衍生数据结构。为数据集中的一个或者多个字段创建索引,有助于快速查找和排序数据。

功能入口:开始选项卡->数据处理->字段索引

希望可以帮助到您!

2,548EXP 2023年10月07日
这种大数据量的单纯建立索引的效果应该也一般,这边没有什么针对千万数据量的优化解决方案么?
PostGIS调优,主要修改PostgreSQL/data/postgresql.conf:

增加缓存:可以通过增加缓存大小来提高读取性能。可以通过postgresql.conf配置文件中的shared_buffers参数来设置缓存大小,默认为128MB,通常建议设置为系统内存的1/4到1/3。
调整查询计划:可以通过调整查询计划来提高查询性能。可以通过postgresql.conf配置文件中的effective_cache_size(通常建议将其设置为系统内存的一半)、work_mem(建议设置为shared_buffers的1/16到1/8之间)等参数来调整查询计划。
启用字段索引:可以通过启用索引来提高查询性能。可以通过CREATE INDEX命令或pgAdmin等工具来创建索引,如:
CREATE INDEX idx_name ON table_name (column_name) WHERE column_name > 0;
空间索引:可以通过调整PostGIS的索引来提高查询性能。可以通过CREATE INDEX命令或pgAdmin等工具来创建索引,如:
CREATE INDEX mytable_gist_idx ON mytable USING gist (geom);
使用空间聚合:如ST_Union、ST_Collect和ST_ConvexHull等,可以将多个几何对象合并成一个对象。使用空间聚合可以减少查询的数据量,从而提高查询性能。
...