ตามเอกสาร "Oracle JDBC Memory Management" ไดรเวอร์ Oracle jdbc จัดสรรบัฟเฟอร์ char[]
เมื่อมีการแยกวิเคราะห์คำสั่ง
ขนาดบัฟเฟอร์จะถูกคำนวณตามขนาดสูงสุดที่เป็นไปได้สำหรับข้อมูลแถวที่ส่งคืนโดยการสืบค้น
ตัวอย่างเช่นสำหรับคำสั่ง SELECT NAME FROM TAB
โดยที่ NAME
คือ VARCHAR2(40)
, 40 *2 ไบต์ = 80 ไบต์จะถูกจัดสรร
บัฟเฟอร์จะมีขนาดใหญ่เพียงใดหากข้อมูลแถวเป็นฟังก์ชันที่มี return varchar2
ตัวอย่างเช่น:
select FOO from dual;
FOO อยู่ที่ไหน
create or replace function FOO
return varchar2 is
...