查询时间统计(PostgreSQL)

前端之家收集整理的这篇文章主要介绍了查询时间统计(PostgreSQL)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个十亿行的表格,我想确定表格的几个查询的平均时间和标准时间偏差:
select * from mytable where col1 = '36e2ae77-43fa-4efa-aece-cd7b8b669043';
select * from mytable where col1 = '4b58c002-bea4-42c9-8f31-06a499cabc51';
select * from mytable where col1 = 'b97242ae-9f6c-4f36-ad12-baee9afae194';

....

我有一千个col1存储在另一个表中的随机值.

有没有办法在单独的表中存储每个查询花费的时间(以毫秒为单位),以便我可以对它们运行一些统计信息?类似于:对于随机表中的每个col1,执行查询,记录时间,然后将其存储在另一个表中.

一个完全不同的方法就可以了,只要我能留在Postgresql中(即,我不想编写外部程序来执行此操作).

你知道 EXPLAIN statement吗?

This command displays the execution plan that the Postgresql planner generates for the supplied statement. The execution plan shows how the table(s) referenced by the statement will be scanned — by plain sequential scan,index scan,etc. — and if multiple tables are referenced,what join algorithms will be used to bring together the required rows from each input table.

The most critical part of the display is the estimated statement execution cost,which is the planner’s guess at how long it will take to run the statement (measured in units of disk page fetches). Actually two numbers are shown: the start-up time before the first row can be returned,and the total time to return all the rows. For most queries the total time is what matters,but in contexts such as a subquery in EXISTS,the planner will choose the smallest start-up time instead of the smallest total time (since the executor will stop after getting one row,anyway). Also,if you limit the number of rows to return with a LIMIT clause,the planner makes an appropriate interpolation between the endpoint costs to estimate which plan is really the cheapest.

The ANALYZE option causes the statement to be actually executed,not only planned. The total elapsed time expended within each plan node (in milliseconds) and total number of rows it actually returned are added to the display. This is useful for seeing whether the planner’s estimates are close to reality.

可以很容易地编写一个脚本,在查询中为表中的每个随机值执行EXPLAIN ANALYZE,并将输出保存到文件/表/等.

原文链接:https://www.f2er.com/postgresql/191963.html

猜你在找的Postgre SQL相关文章