On Tue, Nov 1, 2011 at 07:23, Guillaume Lelarge <guilla...@lelarge.info>wrote:

> [...]
>
> With 10k rows (2.3 MB) it took 3.5 seconds to retrieve data from DB and 40
> > seconds to write the file to an SATA 7200 disk with write-through cache.
> > With 100k rows (23 MB) the DB retrieve went for 35 seconds while the file
> > writing part took over 4 minutes (didn't wait for it to finish).
> >
>
> I don't have the same numbers:
>
> *    1000 : 1s
> *   10000 : 1s
> *  200000 : 7s
> * 1000000 : 18s
>
>
Interesting... seeing your explanation below, our timing difference
probably has to do with me testing on a table with lots of columns, many of
type timestamp and inet which I assume are costlier to convert. Boris,
might that be the case with you also?
I'll repeat my tests with a smaller and simpler table later.


> > The file is being written at an avg 60 KB per second, which is extremely
> > slow.
>
> If the only thing pgAdmin does was writing, I would agree. But,
> actually, it does a lot more things:
>
> * for each row
>  * for each column
>    * adds the column separator, if needed
>    * grabs one cell's value
>    * quotes the value, if needed (which also means doubling the quote
>      if it's within the value)
>  * adds the line separator
>  * converts it to the encoding, if needed
>  * writes it to the file
>
> That could take some time.
>

I see how I was completely underrating the workload involved in the file
writing process.


> I searched if there were some parts that took much longer than others,
> but failed to find one.
>

The effort is much appreciated. Thanks.

Regards,
Fernando.

Reply via email to