Escolar Documentos
Profissional Documentos
Cultura Documentos
Deformação de Tuplas
Representação in-memory de tuplas
Função própria para o layout data tabela
Acesso rápido e fácil
Código-fonte
sudo yum install centos-release-scl
sudo yum install llvm-toolset-7 llvm-toolset-7-llvm-devel.x86_64
PATH=/opt/rh/devtoolset-7/root/usr/bin/:/opt/rh/llvm-toolset-7/root/usr/bin/:$PATH
tar -xvf postgresql-11.0.tar.bz2
./configure --prefix=/home/postgres/pg11 --with-llvm
make
make install
CONFIGURANDO ...
Por padrão, o JIT vem desabilitado
postgresql.conf jit = on (não requer restart)
ALTER SYSTEM SET jit = on;
SET jit = on;
QUERY PLAN
-------------------------------------------------------------------------------------------------------------
Aggregate (cost=16.27..16.29 rows=1 width=8) (actual time=6.049..6.049 rows=1 loops=1)
-> Seq Scan on pg_class (cost=0.00..15.42 rows=342 width=4) (actual time=0.019..0.052 rows=356 loops=1)
Planning Time: 0.133 ms
JIT:
Functions: 3
Options: Inlining false, Optimization false, Expressions true, Deforming true
Timing: Generation 1.259 ms, Inlining 0.000 ms, Optimization 0.797 ms, Emission 5.048 ms, Total 7.104 ms
Execution Time: 7.416 ms
select
l_returnflag, l_linestatus,
sum(l_quantity) as sum_qty,
sum(l_extendedprice) as sum_base_price,
sum(l_extendedprice * (1 - l_discount)) as sum_disc_price,
sum(l_extendedprice * (1 - l_discount) * (1 + l_tax)) as sum_charge,
avg(l_quantity) as avg_qty,
avg(l_extendedprice) as avg_price,
avg(l_discount) as avg_disc,
count(*) as count_order
from
lineitem
where
l_shipdate <= date '1998-12-01' - interval ':1' day
group by
l_returnflag, l_linestatus
order by
l_returnflag, l_linestatus :n -1 ;
BENCHMARK
PostgreSQL 11
29.31%
MAIS RÁPIDO
Em 10 minutos,
30 EXECUÇÕES
Fonte: https://www.citusdata.com/blog/2018/09/11/postgresql-11-just-in-time/
DÚVIDAS? RTFM
OBRIGADO!