08 Mar 2008 12:28:19 | Parveen Aggarwal
This article illustrates the best practices to improve the
performance of Daffodil DB / One$DB JDBC Driver. This article
focuses on how to improve the performance of a Daffodil DB /
One$DB JDBC application using Statement, PreparedStatemnt,
CallableStatement and ResultSet interfaces. Choosing the right
statement interfaces and right methods according to your SQL
query plays a vital role in improving the performance of a JDBC
Driver.
JDBC Overview
JDBC API provides standard set of interfaces to work with
databases like Daffodil DB / One$DB, Oracle, Derby etc.
Connection interface encapsulates database connection
functionality, Statement interface encapsulates SQL statement
representation and execution functionality whereas ResultSet
interface encapsulates retrieving data which comes from the
execution of a SQL query using Statement.
Following are the basic steps to write a JDBC program.
1.Import "java.sql" and "javax.sql" packages. (Import
"javax.sql", if advanced JDBC feature like XA is to be used)
2.Load Daffodil DB JDBC driver (embedded or network JDBC Driver)
3.Establish connection to database using Connection interface
4.Create a Statement
5.Execute the Statement
6.Retrieve results by using ResultSet interface
7.Close Statement and Connection
Choosing right Statement interface:
There are three types of Statement interfaces in JDBC to
represent/execute a SQL query-Statement, PreparedStatement and
CallableStatement. Statement is used for executing static SQL
statement with no input and output parameters; PreparedStatement
is used to execute dynamic SQL statement with input parameters
whereas CallableStatement is used to execute dynamic SQL with
both input and output parameters. One important thing to note
about PreparedStatement and CallableStatement is that they can
also be used for static SQL statements. However,
CallableStatement is mainly meant for stored procedures.
PreparedStatement gives better performance when compared to
Statement because it is pre-parsed and pre-compiled. This means
that compilation and parsing of such statement is done only once
by the database. Afterwards the database reuses the already
parsed and compiled statement. This significantly improves the
performance because whenever a statement has to be executed
repeatedly, it doesn't need to be parsed and compiled time and
again. So the overload incurred by parsing and compiling the
same statement can be reduced.
When there is a requirement for single request to process
multiple complex statements, CallableStatement gives better
performance as compared to PreparedStatement and Statement.
To read the full article please visit
http://www.daffodildb.com/daffodildb-performance-tuning.html
About Author :
This article has been contributed by (Mr.) Parveen Aggarwal,
Technical Consultant to DSL India (http://www.daffodildb.com).
With more than 6 years of industry experience in Java and allied
technologies, he has an in-depth understanding of J2EE, J2ME and
database management systems. Parveen is currently working on the
concept of data-archiving in embedded databases. He can be
contacted at parveenaggarwal@hotmail.com