Bloby - load/unload datového typu TEXT

Pokud chceme provádět unload/load dat na tabulce, která obsahuje atribut (sloupeček) datového typu blob nebo text, operace se dá urychlit pomocí proměnné prostředí DBBLOBBUF. Nastavením proměnné DBBLOBBUF se při použití příkazu unload/load, například v dbaccess, alokuje pamětový buffer pro přenášené bloby. Bez proměnné DBBLOBBUF je každý blob přenášem pomocí souboru, což je pomalé. Například

export DBBLOBBUF=1024 

alokuje 1MB buffer pro blob.

 

Tento návod, pocházející od Johna Millera z vývojového oddělení Informixu, jsem vyzkoušel, ale nenaměřil jsem žádný rozdíl mezi prostředím s proměnnou a bez a to ani pro unload ani pro load. Tak jsem buď něco udělal špatně nebo věc nefunguje. Zkoušeno na verzi 12.10.FC5.

Test proběhl na tabulce, obsahující 136 668 řádek:

create table lll_test
(
    notice_id serial not null ,
    notice_body text,
    primary key (notice_id)
) ;

 

Zde je průběh testu:

./test_DBBLOBBUF.sh

unset DBBLOBBUF:
unload to lll_1.unl select * from lll_test;
Tue Sep 12 09:51:48 GMT 2017
Database selected.
136668 row(s) unloaded.
Database closed.
Tue Sep 12 09:51:58 GMT 2017

... doba unloadu = 10s

export DBBLOBBUF=2048
unload to lll_2.unl select * from lll_test;
Tue Sep 12 09:51:58 GMT 2017
Database selected.
136668 row(s) unloaded.
Database closed.
Tue Sep 12 09:52:08 GMT 2017

... doba unloadu = 10s, žádný rozdíl

Database selected.
Table dropped.
Table created.
Database closed.

unset DBBLOBBUF:
load from lll_1.unl insert into lll_test;
Tue Sep 12 09:52:08 GMT 2017
Database selected.
136668 row(s) loaded.
Database closed.
Tue Sep 12 09:52:29 GMT 2017

... doba loadu = 21s

Database selected.
Table dropped.
Table created.
Database closed.

DBBLOBBUF=2048
load from lll_1.unl insert into lll_test;
Tue Sep 12 09:52:30 GMT 2017
Database selected.
136668 row(s) loaded.
Database closed.
Tue Sep 12 09:52:50 GMT 2017

... doba loadu = 20s, opět téměř žádný rozdíl

 


You are not authorised to post comments.

Comments powered by CComment