@@ -47,7 +47,7 @@ with t (t) as (
4747)
4848select  *  from  b;
4949
50- select  ' fib_bytea ' as  storage_type,
50+ select  ' fibonacci_bytea ' as  storage_type,
5151 pg_column_size(a_fib) as  orig_compressed_size,
5252 pg_column_size(ad_fib) as  delta_compressed_size,
5353 pg_column_size(a_fib::text ::bytea ) as  orig_uncompressed_size,
@@ -76,12 +76,12 @@ select 'jsonb_int_array',
7676from  test .delta ;
7777``` 
7878
79- |  storage\_ type |  orig\_ compressed\_ size |  delta\_ compressed\_ size |  orig\_ uncompressed\_ size |  delta\_ uncompressed\_ size | 
80- | :---|  : ---|  : ---|  : ---|  : ---| 
81- |  fib \_ int \_ array  | 887 |  773 |  887 |  773 | 
82- |  pg\_ int\_ array | 1392 |  1392 |  1396 |  1396 | 
83- |  json\_ int\_ array | 2376 |  1578 |  2679 |  1717 | 
84- |  jsonb\_ int\_ array |  2130 |  2044 |  5490 |  4496 | 
79+ |  storage\_ type |  orig\_ compressed\_ size |  delta\_ compressed\_ size |  orig\_ uncompressed\_ size |  delta\_ uncompressed\_ size | 
80+ | :------------------ | -----------------------: | ------------------------: | -------------------------: | --------------------------: | 
81+ |  fibonacci \_ bytea  | 887 |  773 |  887 |  773 | 
82+ |  pg\_ int\_ array | 1392 |  1392 |  1396 |  1396 | 
83+ |  json\_ int\_ array | 2376 |  1578 |  2679 |  1717 | 
84+ |  jsonb\_ int\_ array |  2130 |  2044 |  5490 |  4496 | 
8585
8686Отсортированный список чисел (например список идентификаторов) с дельта + Фибоначчи кодированием 
8787и хранением в ` bytea `  занимает почти 2 раза меньше места, чем в обычном массиве ` int[] ` . 
0 commit comments