Kbyte@Snowpenguin

Postresql: interrogazioni sequenziali in parallelo

Mentre Mysql e SqlServer godono la loro immeritata fama, Postgresql zitto zitto negli ultimi anni sta aggiungendo funzionalità succose nel proprio engine. Oltre al supporto nativo NoSql, campi array e campi json, a breve nelle future versioni di Postgresql (si presume a partire dalla 9.6) si potrà godere di un notevole boost di performance nelle interrogazioni grazie alle interrogazioni sequenziali eseguite in parallelo, sfruttando dunque più cpu.

L’annuncio è fresco fresco e potete leggere maggiori dettagli in questa pagina. Se la pigrizia è uno dei vostri peccati capitali, vi mostrerò semplicemente la differenza riportata in uno dei test eseguiti dagli sviluppatori:

rhaas=# select * from pgbench_accounts where filler like '%a%';
aid | bid | abalance | filler
-----+-----+----------+--------
(0 rows)

Time: 743.061 ms

rhaas=# set max_parallel_degree = 4;
SET
Time: 0.270 ms

rhaas=# select * from pgbench_accounts where filler like '%a%';
aid | bid | abalance | filler
-----+-----+----------+--------
(0 rows)

Time: 213.412 ms

Nel secondo blocco sono stati impostati 4 gradi di parallelismo che ha ridotto il tempo di esecuzione della query di circa il 70%. Ovviamente non tutte le interrogazioni avranno risultati così felici, ma il vantaggio potenziale è pur sempre un ottimo risultato.

Exit mobile version