Hi,

2017-04-05 9:44 GMT+02:00 Günce Kaya <guncekay...@gmail.com>:

> Hi all,
>
> I have some questions about calculating table and index size.
>
> I have a dummy table which has an integer column and its index. The table
> has 1400000 rows and all of rows are same thats value is 20000000. Table
> size is 50MB and index size is 31MB. Why there is too much size difference
> between table and its index? what happen on data files when we add index?
>
>
You have metadata informations in the table datafiles that you don't have
on the index datafiles. For example, all the system columns for each line.


> Second question is that after created table, table size was 0 byte. I
> inserted a row as 120 then table size was 8192 byte. I inserted five times
> same value to the table and table size is still 8192 bytes. Table size
> changed after inserted lots of rows. Table size was stabile till first few
> hundred rows. why table size didn't change when I inserted lots of rows?
>
>
PostgreSQL works with 8KB blocks. When you insert a line, it puts it on a
block, but this block may contain many lines. So your next new lines still
fit in the first block... until it doesn't, and you'll see a new block
coming, making your table datafile grows to 16KB. And so on and so on.


-- 
Guillaume.
  http://blog.guillaume.lelarge.info
  http://www.dalibo.com

Reply via email to