Согласно документу "Oracle JDBC Memory Management" драйвер Oracle jdbc выделяет буфер char[]
при анализе оператора.
Размер буфера рассчитывается на основе максимально возможного размера данных строки, возвращаемых запросом.
Например, для оператора SELECT NAME FROM TAB
, где NAME
равно VARCHAR2(40)
, 40 *2 байта = будет выделено 80 байт.
Насколько большим будет буфер, если данные строки являются функцией с возвратом varchar2
? Например:
select FOO from dual;
где ФОО
create or replace function FOO
return varchar2 is
...