The answer to your question is, it depends. From an Oracle perspective: the first stage of SQL statement execution is parsing, the second stage is binding of variables. If the statement will be run once, it really makes very little difference, sort of. If you are running the statement within a loop with changing the values of the fields in the where clause every iteration of the loop, then you most likely want to bind the variables to avoid re-parsing (compiling) the SQL statement at every pass.
Now, what about the sort of? If your Oracle tables are analyzed (with histograms) and you want the optimizer to make use of the histograms, then you do NOT want to bind the variables. This is because the optimizer needs to know the value of the fields during parsing to make use of the histograms to create the best execution plan. This particular issue of histograms is especially critical for data warehouse (large quantities of data) situations. This is probably a bit more info than you wanted... BTW, remember to close your result sets and prepared statements! When you receive complaints from your fellow developers, dbas, and you see your code fail because of the error: exceeded maximum number of open cursors, you will know why. I hope this helps, Dave -----Original Message----- From: Ramaswamy, Rathnapriya (CORP, GTS, L531741) [mailto:[EMAIL PROTECTED]] Sent: Thursday, January 24, 2002 8:11 AM To: [EMAIL PROTECTED] Subject: Re: JDBC question - PreparedStatement Thanx Mark, but what I actually wanted to know was....(Sorry I did not convey properly) String query1="update table1 set field1 = ?, field2= ? where field3 ='"+someBeanInstance.getName()+"' and field4 = '"+someBeanInstance.getDesc()+"'"; String query2="update table1 set field1 = ?, field2 = ? where field3 = ? and field4=?; I wanted to know, if setting values in where clause directly rather than setting it in the PreparedStatement object has any adv/disadv? Is it better to always set the values in the PreparedStatement Object? Hope I have put across my doubt now. Thanx, Priya -----Original Message----- From: Mark Galbreath [mailto:[EMAIL PROTECTED]] Sent: Thursday, January 24, 2002 6:30 PM To: [EMAIL PROTECTED] Subject: Re: JDBC question - PreparedStatement Not worth worrying about. After the first call on the prepared statement, all variables will be set for any subsequent calls. The nanosecond taken to set an additional couple of variables' values on the first call is negligible. Mark -----Original Message----- From: Ramaswamy, Rathnapriya Sent: Thursday, January 24, 2002 7:32 AM Is there any difference b/w usage of these two queries while using PreparedStatement. 1) String query = "update table1 set field1 = ?, field2= ? where field3 = 'value3' and field4 = 'value4'; 2) String query = "update table1 set field1 = ?, field2 = ? where field3 = ? and field4 = ?; Thanx, Priya. ___________________________________________________________________________ To unsubscribe, send email to [EMAIL PROTECTED] and include in the body of the message "signoff SERVLET-INTEREST". Archives: http://archives.java.sun.com/archives/servlet-interest.html Resources: http://java.sun.com/products/servlet/external-resources.html LISTSERV Help: http://www.lsoft.com/manuals/user/user.html "THIS E-MAIL MESSAGE ALONG WITH ANY ATTACHMENTS IS INTENDED ONLY FOR THE ADDRESSEE and may contain confidential and privileged information. If the reader of this message is not the intended recipient, you are notified that any dissemination, distribution or copy of this communication is strictly Prohibited. If you have received this message by error, please notify us immediately, return the original mail to the sender and delete the message from your system." ___________________________________________________________________________ To unsubscribe, send email to [EMAIL PROTECTED] and include in the body of the message "signoff SERVLET-INTEREST". Archives: http://archives.java.sun.com/archives/servlet-interest.html Resources: http://java.sun.com/products/servlet/external-resources.html LISTSERV Help: http://www.lsoft.com/manuals/user/user.html ___________________________________________________________________________ To unsubscribe, send email to [EMAIL PROTECTED] and include in the body of the message "signoff SERVLET-INTEREST". Archives: http://archives.java.sun.com/archives/servlet-interest.html Resources: http://java.sun.com/products/servlet/external-resources.html LISTSERV Help: http://www.lsoft.com/manuals/user/user.html