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 API provides a 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.
The 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 a connection to the 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 the 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 statements with no input and output parameters; PreparedStatement is used to execute dynamic SQL statements 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 a statement is done only once by the database. Afterward, the database reuses the already parsed and compiled statement. This significantly improves the performance because whenever a statement has to be executed repeatedly, it does not 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 a 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]