本篇内容介绍了“分析PostgreSQL DBA的pgAdmin情况”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!work_mem的内存从哪分配
work_mem是session(进程)的私有内存,与Oracle的PGA类似,由进程自行申请和管理.如果超出work_mem的限制,PG会把数据写入到临时文件中,如果OS的内存足够,写临时文件时会缓存到os的page cache中,相当于数据仍然在内免费主机域名存中.work_mem对排序性能的影响
下面来看看work_mem大小对排序性能的影响.
测试表:test表有2个列,其中id为主键,random_text是随机字符串,100w行数据.
work_mem设置为1MBwork_mem设置为100MB可以看到,在work_mem设置为100MB时,PG会尽可能的在内存中执行排序(排序算法从字面上来看是快速排序算法),但性能比起1MB时并没有非常明显的改进,而且得益于并行算法,在最后一个场景中1MB的性能比起100MB的性能还要好.work_mem对HashJoin性能的影响
下面来看看work_mem大小对HashJoin性能的影响.
测试表同上,测试脚本:1MB vs 100MB从日志输出来看,在100MB时Batches数明显比1MB时少很多,表示所有数据都可以放在内存中处理(1个批次即可),执行时间也相对于少20%-30%左右.增加work_mem会存在边际递减效应,除非内存足够,否则建议逐个测试找到最佳值,同时需考虑连接数对内存的影响.“分析PostgreSQL DBA的pgAdmin情况”的内容就介绍到这里了,感谢大家的阅读。如果想了解更免费主机域名多行业相关的知识可以关注云技术网站,小编将为大家输出更多高质量的实用文章!
相关推荐: 如何解决使用udev管理asmdisk执行/sbin/scsi_id不显示UUID的问题
这篇文章给大家分享的是有关如何解决使用udev管理asmdisk执行/sbin/scsi_id不显示UUID的问题的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 在搭建RAC的时候,使用udev方式来创建ASM磁盘,执行/sbin/…