将表大部分或部分加载到工作内存中进行查询

时间:2015-11-09 01:31:23

标签: sql postgresql caching memory

我有一个PostgreSQL只读副本,其唯一目的是进行一些聚合查询。目前,为了进行聚合,很多I / O正在进行,即使有大量可用内存,并且由于实例仅用于此目的,我想知道是否可能:

简单地告诉PostgreSQL缓存表的大部分内容,以加快聚合查询。这可能吗?

1 个答案:

答案 0 :(得分:0)

Per Craig的评论:

  

pg_prewarm模块提供了一种将关系数据加载到操作系统缓冲区缓存或PostgreSQL缓冲区缓存中的便捷方法。   http://www.postgresql.org/docs/9.4/static/pgprewarm.html

不要忘记pg_prewarm是一个扩展名,所以你必须添加它:

create extension pg_prewarm;
  

..很多I / O正在进行聚合,即使有很多可用的内存..

您可能还想研究一些内存配置选项(http://www.postgresql.org/docs/9.4/static/runtime-config-resource.html#RUNTIME-CONFIG-RESOURCE-MEMORY