On Thu, Dec 6, 2018 at 11:13 AM Amit Kapila <[email protected]> wrote:
>
> On Thu, Dec 6, 2018 at 10:03 AM Pavel Stehule <[email protected]> wrote:
> >
> > čt 6. 12. 2018 v 5:02 odesílatel Mithun Cy <[email protected]>
> > napsal:
> >>
> >> COPY command seems to have improved very slightly with zheap in both with
> >> size of wal and execution time. I also did some tests with insert
> >> statement where I could see some regression in zheap when compared to heap
> >> with respect to execution time. With further more investigation I will
> >> reply here.
> >>
> >
> > 20% of size reduction looks like effect of fill factor.
> >
>
> I think it is because of smaller zheap tuple sizes. Mithun can tell
> more about setup whether he has used different fillfactor or anything
> else which could lead to such a big difference.
Yes default fillfactor is unaltered, zheap tuples sizes are less and
alinged each at 2 Bytes
Length of each item. (all Items are identical)
=====================================
postgres=# SELECT lp_len FROM
zheap_page_items(get_raw_page('pgbench_zheap', 9)) limit 1;
lp_len
--------
102
(1 row)
postgres=# SELECT lp_len FROM
heap_page_items(get_raw_page('pgbench_heap', 9)) limit 1;
lp_len
--------
121
(1 row)
Total tuples per page
=====================================
postgres=# SELECT count(*) FROM
zheap_page_items(get_raw_page('pgbench_zheap', 9));
count
-------
76
(1 row)
postgres=# SELECT count(*) FROM
heap_page_items(get_raw_page('pgbench_heap', 9));
count
-------
61
(1 row)
because of this zheap takes less space as reported above.
--
Thanks and Regards
Mithun Chicklore Yogendra
EnterpriseDB: http://www.enterprisedb.com