> -----Original Message-----
> From: pgsql-hackers-owner@hub.org [mailto:pgsql-hackers-owner@hub.org]On
> Behalf Of Matthias Urlichs
>
> Hi,
>
> short add-on:
>
> > The table has been created (via Perl) thusly:
> > [...]
>
> i.e., 450 or so read() calls per request, apparently serially scannign
> for somethign or other:
>
> $ strace -e lseek -p -pid-of-postmaster
> lseek(13, 0, SEEK_SET) = 0
> lseek(13, 8192, SEEK_SET) = 8192
> lseek(13, 16384, SEEK_SET) = 16384
> lseek(13, 24576, SEEK_SET) = 24576
> lseek(13, 32768, SEEK_SET) = 32768
> lseek(13, 40960, SEEK_SET) = 40960
> lseek(13, 49152, SEEK_SET) = 49152
> lseek(13, 57344, SEEK_SET) = 57344
> lseek(13, 65536, SEEK_SET) = 65536
> lseek(13, 73728, SEEK_SET) = 73728
> lseek(13, 81920, SEEK_SET) = 81920
> lseek(13, 90112, SEEK_SET) = 90112
> lseek(13, 98304, SEEK_SET) = 98304
> lseek(13, 106496, SEEK_SET) = 106496
> lseek(13, 114688, SEEK_SET) = 114688
>
This seems to scan a system table(pg_index ?).
There are some(many?) places where indexes aren't
(or couldn't be) used to scan system tables.
Must we avoid sequential scan for system tables as possible ?
Comments ?
Regards.
Hiroshi Inoue
Inoue@tpf.co.jp