"Vitale, Anthony, Sony Music" <anthony.vit...@sonymusic.com> writes: > In my PG Version 14 log I have set to log the duration of sql (Example of one > log row below). > 2025-04-08 07:31:57 UTC:XXX(55994):XXX:[8949]:LOG: duration: 6555.756 ms > execute S_381: {Actual Parameterized Sql executed} > This Shows the Execution of a JDBC Server Side Prepared statement (i.e S_381) > which took 6.5 seconds.
> When I run the Sql using explain analyze it runs shows an execution time of > 73 ms > Planning Time: 0.773 ms > Execution Time: 73.578 ms They're not measuring the same thing really, because EXPLAIN isn't counting the time needed to transmit data to the client. This is not just a matter of network overhead (though that can be substantial) but also the time required to format the values into text. If you are talking about large values, which I bet you are, there is also the time needed to fetch them from out-of-line TOAST storage, which is another thing that doesn't happen in EXPLAIN. Since v17, EXPLAIN has grown a SERIALIZE option that causes it to do everything except the network transmission, which might be of interest in analyzing this further. regards, tom lane