Dryákova abeceda - (B)loby
- Napsal Jan Dryák
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
Nemáte oprávnění k přidávání komentářů.