While I'm waiting to figure out how to get the size of the toast table, at
least I can provide the speed of query with/without assumed compression on
the 6K text columns.
To insure that we're actually accessing the data in the rows, I do a regexp
query on the TOASTed rows:
mpptestdb=# select count(*) from bigtable1 where b ~ 'a';
count
--------
100000
(1 row)
Time: 700.574 ms
That's 770MB of database data regexp'ed in 0.7 seconds, or about
1.1GB/second. Not bad, but slower by good measure than the I/O subsystem.
Now we try the same table with PLAIN storage type:
mpptestdb=# select count(*) from bigtable1 where b ~ 'a';
count
--------
100000
(1 row)
Time: 284.146 ms
That's the same 770MB in 0.28 seconds or 2.8GB/s, much better.
- Luke