I want to announce new model, "diagonal storage" which combines benefits of both approaches. The idea is very simple: we first store column 1 of first record, then column 2 of second record, ... and so on until we reach the last column. After it we store second column of first record, third column of the second record,...
Sounds interesting. Could "diagonal storages" be applied twice? That is could we apply
diagonal transformation to the result of another diagonal transformation? I expect we
should get a "square diagonal" transformation...
Attach please find patch with first prototype implementation. It provides about 3.14 times improvement of performance at most of TPC-H queries.
Great, but with square diagonal transformation we should get 3.14^2 times improvement,