Harshad <harshad.rj@gmail.com> writes:
> I am trying to figure out why a very simple query turns out to be I/O
> bound.
It's hard to see how that case could be I/O bound, unless your machine
is seriously starved for memory. Did you watch "vmstat 1" or something
similar to confirm that a lot of I/O is really happening?
> I have put this query in simple.sql, and running it in a tight loop in the shell thusly:
> while [ true ] ; do psql -d twinkle -U postgres -f simple.sql; done > /dev/null
FWIW, the overhead of the above is just enormous --- starting up a new
database connection takes way more time than issuing one simple query.
However I still don't see how it would be I/O bound; the kernel
certainly ought to have everything needed in disk cache after a couple
of cycles. On my machine a similar test immediately pins the CPU
with about half user, half system time.
What platform are you using, exactly?
regards, tom lane