Commit bc6fb543 authored by Bruce Momjian's avatar Bruce Momjian

Update FAQ for new 24-byte header, down from 28.

parent 1ad2f04b
Frequently Asked Questions (FAQ) for PostgreSQL Frequently Asked Questions (FAQ) for PostgreSQL
Last updated: Tue Feb 6 22:16:17 EST 2007 Last updated: Thu Feb 8 22:43:13 EST 2007
Current maintainer: Bruce Momjian (bruce@momjian.us) Current maintainer: Bruce Momjian (bruce@momjian.us)
...@@ -547,25 +547,25 @@ ...@@ -547,25 +547,25 @@
As an example, consider a file of 100,000 lines with an integer and As an example, consider a file of 100,000 lines with an integer and
text description on each line. Suppose the text string avergages text description on each line. Suppose the text string avergages
twenty bytes in length. The flat file would be 2.8 MB. The size of the twenty bytes in length. The flat file would be 2.8 MB. The size of the
PostgreSQL database file containing this data can be estimated as 5.6 PostgreSQL database file containing this data can be estimated as 5.2
MB: MB:
28 bytes: each row header (approximate) 24 bytes: each row header (approximate)
24 bytes: one int field and one text field 24 bytes: one int field and one text field
+ 4 bytes: pointer on page to tuple + 4 bytes: pointer on page to tuple
---------------------------------------- ----------------------------------------
56 bytes per row 52 bytes per row
The data page size in PostgreSQL is 8192 bytes (8 KB), so: The data page size in PostgreSQL is 8192 bytes (8 KB), so:
8192 bytes per page 8192 bytes per page
------------------- = 146 rows per database page (rounded down) ------------------- = 158 rows per database page (rounded down)
56 bytes per row 52 bytes per row
100000 data rows 100000 data rows
-------------------- = 685 database pages (rounded up) -------------------- = 633 database pages (rounded up)
146 rows per page 158 rows per page
685 database pages * 8192 bytes per page = 5,611,520 bytes (5.6 MB) 633 database pages * 8192 bytes per page = 5,185,536 bytes (5.2 MB)
Indexes do not require as much overhead, but do contain the data that Indexes do not require as much overhead, but do contain the data that
is being indexed, so they can be large also. is being indexed, so they can be large also.
......
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
alink="#0000ff"> alink="#0000ff">
<H1>Frequently Asked Questions (FAQ) for PostgreSQL</H1> <H1>Frequently Asked Questions (FAQ) for PostgreSQL</H1>
<P>Last updated: Tue Feb 6 22:16:17 EST 2007</P> <P>Last updated: Thu Feb 8 22:43:13 EST 2007</P>
<P>Current maintainer: Bruce Momjian (<A href= <P>Current maintainer: Bruce Momjian (<A href=
"mailto:bruce@momjian.us">bruce@momjian.us</A>) "mailto:bruce@momjian.us">bruce@momjian.us</A>)
...@@ -720,25 +720,25 @@ table?</TD><TD>unlimited</TD></TR> ...@@ -720,25 +720,25 @@ table?</TD><TD>unlimited</TD></TR>
and text description on each line. Suppose the text string and text description on each line. Suppose the text string
avergages twenty bytes in length. The flat file would be 2.8 MB. avergages twenty bytes in length. The flat file would be 2.8 MB.
The size of the PostgreSQL database file containing this data can The size of the PostgreSQL database file containing this data can
be estimated as 5.6 MB:</P> be estimated as 5.2 MB:</P>
<PRE> <PRE>
28 bytes: each row header (approximate) 24 bytes: each row header (approximate)
24 bytes: one int field and one text field 24 bytes: one int field and one text field
+ 4 bytes: pointer on page to tuple + 4 bytes: pointer on page to tuple
---------------------------------------- ----------------------------------------
56 bytes per row 52 bytes per row
The data page size in PostgreSQL is 8192 bytes (8 KB), so: The data page size in PostgreSQL is 8192 bytes (8 KB), so:
8192 bytes per page 8192 bytes per page
------------------- = 146 rows per database page (rounded down) ------------------- = 158 rows per database page (rounded down)
56 bytes per row 52 bytes per row
100000 data rows 100000 data rows
-------------------- = 685 database pages (rounded up) -------------------- = 633 database pages (rounded up)
146 rows per page 158 rows per page
685 database pages * 8192 bytes per page = 5,611,520 bytes (5.6 MB) 633 database pages * 8192 bytes per page = 5,185,536 bytes (5.2 MB)
</PRE> </PRE>
<P>Indexes do not require as much overhead, but do contain the data <P>Indexes do not require as much overhead, but do contain the data
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment