1
我有一个PostgreSQL只读副本,其唯一目的是执行一些聚合查询。目前,尽管有很多内存可用,并且由于实例仅用于此目的,但仍有很多I/O正在执行聚合,但我想知道是否有可能:将表大部分或部分加载到工作内存中用于查询
要简单地告诉PostgreSQL缓存表的大部分内容,以加快汇总查询。那可能吗?
我有一个PostgreSQL只读副本,其唯一目的是执行一些聚合查询。目前,尽管有很多内存可用,并且由于实例仅用于此目的,但仍有很多I/O正在执行聚合,但我想知道是否有可能:将表大部分或部分加载到工作内存中用于查询
要简单地告诉PostgreSQL缓存表的大部分内容,以加快汇总查询。那可能吗?
每克雷格的评论:
的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)
http://www.postgresql.org/docs/9.4/static/pgprewarm.html –