|
|
|
|
@ -1,7 +1,7 @@ |
|
|
|
|
|
|
|
|
|
Frequently Asked Questions (FAQ) for PostgreSQL |
|
|
|
|
|
|
|
|
|
Last updated: Thu Feb 14 12:14:47 EST 2002 |
|
|
|
|
Last updated: Mon Feb 18 00:08:54 EST 2002 |
|
|
|
|
|
|
|
|
|
Current maintainer: Bruce Momjian (pgman@candle.pha.pa.us) |
|
|
|
|
|
|
|
|
|
@ -667,26 +667,26 @@ |
|
|
|
|
|
|
|
|
|
As an example, consider a file of 100,000 lines with an integer and |
|
|
|
|
text description on each line. Suppose the text string avergages |
|
|
|
|
twenty characters in length. The flat file would be 2.8 MB. The size |
|
|
|
|
of the PostgreSQL database file containing this data can be estimated |
|
|
|
|
as 6.6 MB: |
|
|
|
|
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 6.4 |
|
|
|
|
MB: |
|
|
|
|
36 bytes: each row header (approximate) |
|
|
|
|
26 bytes: two int fields @ 4 bytes each |
|
|
|
|
24 bytes: one int field and one text filed |
|
|
|
|
+ 4 bytes: pointer on page to tuple |
|
|
|
|
---------------------------------------- |
|
|
|
|
66 bytes per row |
|
|
|
|
64 bytes per row |
|
|
|
|
|
|
|
|
|
The data page size in PostgreSQL is 8192 bytes (8 KB), so: |
|
|
|
|
|
|
|
|
|
8192 bytes per page |
|
|
|
|
------------------- = 124 rows per database page (rounded down) |
|
|
|
|
66 bytes per row |
|
|
|
|
------------------- = 128 rows per database page (rounded down) |
|
|
|
|
64 bytes per row |
|
|
|
|
|
|
|
|
|
100000 data rows |
|
|
|
|
-------------------- = 807 database pages (rounded up) |
|
|
|
|
124 rows per page |
|
|
|
|
-------------------- = 782 database pages (rounded up) |
|
|
|
|
128 rows per page |
|
|
|
|
|
|
|
|
|
807 database pages * 8192 bytes per page = 6,610,944 bytes (6.6 MB) |
|
|
|
|
782 database pages * 8192 bytes per page = 6,406,144 bytes (6.4 MB) |
|
|
|
|
|
|
|
|
|
Indexes do not require as much overhead, but do contain the data that |
|
|
|
|
is being indexed, so they can be large also. |
|
|
|
|
|