psql
计时SQL查询吗?#1 楼
只需输入以下内容即可打开计时:\timing
评论
从bash起,psql的“ -c”选项不允许此设置。您可以使用以下命令执行此操作:psql --o / dev / null << EOF \ timing select 1 EOF
– 3manuek
16年7月14日在17:38
或者执行psql -c'\ timing'-c'select 1'
– cdmckay
17年8月24日在2:11
如果希望每次启动客户端时都启用\ timing,则将其添加到〜/ .psqlrc。
–乔尔·哈里斯(Joel Harris)
1月24日16:02
#2 楼
可以在psql提示符下使用\timing
打开计时(如Caleb所说)。如果您使用的是8.4或更高版本,则可以在
\timing
上添加一个可选的on / off参数,这可能会有所帮助如果您希望能够在.psqlrc中设置计时,则可以在脚本中显式设置\timing on
,而普通的\timing
会将其关闭#3 楼
如果要连接到远程服务器,则\timing
返回的时间还包括网络延迟。如果您不希望这样做并且也不需要查询输出,最好使用
EXPLAIN ANALYZE
,它会输出查询计划以及计划者的估算值以及实际的执行时间。例如,EXPLAIN ANALYZE SELECT foo from bar ;
评论
...唯一的问题是您没有收到正常的查询输出。
– dezso
17年17月17日下午4:56
使用说明分析产生的时间大约是使用\ timing时的两倍,这与基于此处有关网络延迟的评论所期望的相反。我怀疑正常执行分析会增加查询时间。根据文档,我认为EXPLAIN(分析,定时关闭)SELECT foo FROM bar将为您提供更多有用的定时信息。有关详细信息,请参见postgresql.org/docs/9.6/static/sql-explain.html。
–幼虫
17年5月5日下午14:53
评论
有关对PostgreSQL查询进行基准测试的更多详细信息,请访问dba.stackexchange.com/q/42012/9622