On Mon, 15 Jan 2001, Alexaki Sofia wrote:
> Hello,
>
> A)
> I am going to load a huge amount of data in the DBMS using JDBC
> and I want to reduce as much as possible the required loading time.
>
> Initially I loaded all data in one transaction. Subsequently, I increased
> the number of buffers and disabled fsync() (-o -F) and I loaded the
> data again but the performance was almost unchanged. Does it make sense??
Yes. Syncing is only done at the end of a transaction. The difference
between one fsync() and none is not measurable.
Large amounts of buffers helps in read performance, not write
performance.
> How can I improve performance? To note that no indexes are created on the
> tables and that I load both "insert into" and "create table" statements.
> ------------------------------
> B)
> I want to reduce the space (8 Kb) allocated by
> DBMS when more space is required to load the data in a table. I reduced
> the parameter BLCKSZ but the space allocated remains the same, that is 8
> KB.
> How can the allocated space be reduced? If the space was reduced
> would loading time and query time increase?
No. Reducing the blocksize does not sound like a good idea. Why would
you want to reduce the amount of allocated space? I actually wish that
Postgres would preallocate a lot of blocks in advance (ie. 100 x 8KB).
That would probably improve performance, as it would not have to keep
re-extending the file.
The best way to improve write performance, is to get faster disks
connecting to a fast interface. Also, get lots of disks (4 to 6). Pair
them into RAID1 sets, then strip over them. Use a RAID controler with a
battery backed cache in write-back (write cache) mode.
> Thank you in advance for your help
> Sofia Alexaki
Tom