Menurut dokumen "Oracle JDBC Memory Management" driver Oracle jdbc mengalokasikan char[]
buffer ketika pernyataan diurai.
Ukuran buffer dihitung berdasarkan ukuran maksimum yang mungkin untuk data baris yang dikembalikan oleh kueri.
Misalnya untuk pernyataan SELECT NAME FROM TAB
di mana NAME
adalah VARCHAR2(40)
, 40 *2 byte = 80 byte akan dialokasikan.
Seberapa besar buffernya jika data baris merupakan fungsi dengan return varchar2
? Misalnya:
select FOO from dual;
di mana FOO berada
create or replace function FOO
return varchar2 is
...