注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

PostgreSQL 中文网

 
 
 

日志

 
 

[阿弟] 分享 plpgsql 中各种使用方法性能测试对比  

2013-04-25 21:12:56|  分类: PG性能优化 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

        
            以下是 Chinese bbs  阿弟哥总结的 plpgsql 的性能相关的帖子,非常有用,收藏下,
以供日后参考:
1、直接函数调用跟select into付值性能差别
采用直接函数调用性能是select into的n倍以上,具体见

2、plpgsql中case与if的性能对比
case的执行效率比if高出了10%有多,具体见

3、plpgsql中采用exception,分步检查数据重复,合并执行性能测试
合并执行的综合性能是最佳的,实际生产环境中应该是重复机率不会很高的,整体来说提高个20%左右,具体见

4、plpgsql函数提取数据付值不同方式的性能差别
直接在sql中付值明显的高出10%以上的性能,具体见

5、plpgsql中采用perform 和 select执行函数或句子时的性能差别
如果执行结果是不需要返回值时则采用perform的性能会更好,大约有3%提升,具体见

6、分享pg中数据类型的转换对性能的影响
类型的转换对于性能的影响大约是15%左右的性能开销,具体见

7、在plpgsql中使用cursor和直接select的性能差别
我们可以看到同样的work_mem,采用cursor的话,order by 需要 temp read=32474 written=32472,而用select直接提取数据的话,temp read=16237 written=16236,少了一半,
所以性能提高明显,如果提高work_mem后,性能比较接近了一些,但还是select 直接提取数据来得好,具体见

8、plpgsql中返回与不返回数据的性能差别
在自定义函数里,如果不需要返回值的话,则直接return void能获得30%性能提升 

9、plpgsql自定义函数常用返回数据类型测试
从测试的结果来看,数字形是integer跟boolean是一个筹级的,numeric次之,smallint,bigint比较差,float是最差的。字符类型相差不大,跟smallint,bigint差不多 ,具体见

10、分享plpgsql返回明确和不明确的数据类型时性能差别
返回数据里要明确的告诉pg的解释器,否则性能将会降低30%,具体见

11、plpgsql中CURRENT OF cur更新方式性能测试
CURRENT OF cur的性能只有明确的指定条件的1/4,方便使用了,但要付出性能的代价 
  评论这张
 
阅读(8113)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2016