Обсуждение: execution time for first INSERT
Hi, i am using libpq library and postgresql 8.4 for my linux application running on ARM with 256 MB. I am just doing: PQconnectdb(); PQexec(INSERT INTO table1 ....); (0.009661 sec.) PQexec(INSERT INTO table1 ....); (0.004208 sec.) PQexec(INSERT INTO table2 ....); (0.007352 sec.) PQexec(INSERT INTO table2 ....); (0.002533 sec.) PQexec(INSERT INTO table2 ....); (0.002281 sec.) PQexec(INSERT INTO table2 ....); (0.002244 sec.) PQexec(INSERT INTO table3 ....); (0.006903 sec.) PQexec(INSERT INTO table3 ....); (0.002903 sec.) PQfinnish(); I check the time for each PQexec with gettimeofday function and I always see that the first INSERT for each table needs longerthan the next ones. this must be something with the parser stage and since i am doing every time the same queries, I would like to know if thereis a way to cache these queries in order to speed up the first INSERT. Thanks in advance, sma
On Fri, 2011-07-08 at 04:23 -0700, Sergio Mayoral wrote: > this must be something with the parser stage and since i am doing > every time the same queries, I would like to know if there is a way to > cache these queries in order to speed up the first INSERT. I doubt it's the parser. Seeing as it's around a couple ms at minimum, it's probably some kind of IO latency. You could see that by wrapping the statements in a big transaction (BEGIN/END block) -- I bet the inserts go very quickly and the final commit takes longer. Regards, Jeff Davis