最近在测试cpu的avx指令集时无意中发现一个因为语句写法不同,性能相差极大的问题
<b>一、定义两个测试函数</b>
上面两个函数的功能是一样的,只是付值方式不一样
<b>二、测试一下他们的执行时间</b>
相差3陪,真的不敢相信
#log_parser_stats = on
#log_planner_stats = on
#log_executor_stats = on
#log_statement_stats = on
通过打开上面几个参数,收集相关信息到log里面,发现v_md5:=md5(random()::text);也是分解成select md5(random()::text)执行,但为什么相差这么大,希望有了解plpgsql函数调用的同学给预解答