cache drops and swapping (LINUX 系统)
2 Database
连接池和连接数量
常用的查询数据在CACHE 中的稳定性
全表扫描和索引扫描
表膨胀
大表分区的问题...)
例如你运行了一个查询,你需要的数据页面在磁盘上,你需要将数据页面从OS层面提交到你的share_buffers 在ORACLE ,MYSQL中也是这样操作的, 但POSTGRESQL 是不能直接从OS...所以这也就清楚了,为什么POSTGRESQL 和其他的数据库不同的点,以及为什么要将内存优先给OS Cache的原因....来进行更有效的调整.
2 work_mem
order by distinct , merge joins ,hash join 等操作使用的内存配置,为什么要使用这个设置主要是避免将这些数据写入到磁盘...为了提高大数据量的排序操作,但实际上我们要注意你的最大的连接数和你的WORK_MEM之间的关系,你可以通过pg_stat 来定时snapshot 信息来分析到底需要杜少work_mem ,并且也不能满足所有的查询都要通过内存来进行排序的操作的需求