[HACKERS] what is the smallest working page size for postgresql

2005-12-22 Thread Hannu Krosing
Hi

Could anybody tell me what is the smallest working page size for
postgresql ?

I have a table where access is highly random over huge table getting
usually only one small tuple from each page. One way to get more
performance could be using smaller page size, so the per-tuple read
overhead would be smaller. 

Would 4k pages work ? what about 2k and 1k ? 512bytes ?

What would it take, to make only heap pages small and keep index pages
larger ? Probably at least per-tablespace or per-pagesize split shared
buffer space and changes in caching algorithms ?

Has anyone tested if 8k is big enough to trigger (in my case
unneccesary) read-ahead on disks/controllers/devices/filesystem ?

---
Hannu



---(end of broadcast)---
TIP 1: if posting/reading through Usenet, please send an appropriate
   subscribe-nomail command to [EMAIL PROTECTED] so that your
   message can get through to the mailing list cleanly


Re: [HACKERS] what is the smallest working page size for postgresql

2005-12-22 Thread Qingqing Zhou

Hannu Krosing [EMAIL PROTECTED] wrote

 Could anybody tell me what is the smallest working page size for
 postgresql ?

 I have a table where access is highly random over huge table getting
 usually only one small tuple from each page. One way to get more
 performance could be using smaller page size, so the per-tuple read
 overhead would be smaller.

 Would 4k pages work ? what about 2k and 1k ? 512bytes ?

 What would it take, to make only heap pages small and keep index pages
 larger ? Probably at least per-tablespace or per-pagesize split shared
 buffer space and changes in caching algorithms ?


I recall there was a discussion several weeks ago:

http://archives.postgresql.org/pgsql-performance/2005-12/msg00120.php

I bet block size less than 512 won't bring you any benefits, since that's 
the physical disk sector size limit.

Regards,
Qingqing 



---(end of broadcast)---
TIP 9: In versions below 8.0, the planner will ignore your desire to
   choose an index scan if your joining column's datatypes do not
   match