This document discusses Java Database Connectivity (JDBC) and Oracle JDBC drivers. It provides an overview of JDBC, describing the four types of JDBC architectures and key JDBC components. It then focuses on Oracle JDBC drivers, explaining the different driver types used on the client-side and server-side. Finally, it presents results from performance tests comparing the Oracle Thin driver, OCI driver, and internal driver across connection, query, fetch, and update operations.
12. Java Performance
12
Java Performance Fundamental | twitter @novathinker
artdb@ex-em.com | performeister.tistory.com
JDBC Architecture
• Layer of the JDBC Architecture
Java JDBC Driver
JDBC API
Application Manager
n
la tio
s
T ran
JDBC Driver JDBC Driver JDBC Driver
ODBC
RDBMS Oracle
Data Source
32. Java Performance
32
Java Performance Fundamental | twitter @novathinker
artdb@ex-em.com | performeister.tistory.com
JDBC Driver Performance
• Oracle JDBC Driver
– Test (Client)
• OS
– Windows XP Service pack 3 (32bit)
– CPU : 2 (Intel(R) Core(TM)2 Duo CPU P9500 @ 2.53GHz)
– Memory : 4 GB
• Java Version
– Sun Hotspot JVM (1.5.0_17-b04)
– 32 bit , client VM
• JDBC Version - ojdbc14.jar
– Oracle JDBC driver classes for use with JDK14
– Created-By: 1.4.2_08 (Sun Microsystems Inc.)
– Oracle JDBC Driver version - "10.2.0.1.0"
70. Java Performance
54
Java Performance Fundamental | twitter @novathinker
artdb@ex-em.com | performeister.tistory.com
Java SQL Execution
• Java SQL Execution Flow
Connection Open
Statement
Execute
ResultSet
Fetch
ResultSet Close
Statement close
Connection close
71. Java Performance
55
Java Performance Fundamental | twitter @novathinker
artdb@ex-em.com | performeister.tistory.com
Java SQL Execution
• Java SQL Execution Test
Connection Open
Statement
select s.sid, s.serial#, p.spid from v
Execute $session s, v$process p where
s.PROGRAM='EXEM JDBC TEST' and s.paddr =
p.addr(+)
ResultSet
exec sys.dbms_system.set_ev(156,1475,
10046, 12, '');
Fetch
ResultSet Close
select * from sys.exem$liblock where sid
= 156 and name like '%JDBC%';
Statement close
Connection close