File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
The moose likes JDBC and the fly likes Prepared Statements, parameterized table names? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Databases » JDBC
Bookmark "Prepared Statements, parameterized table names?" Watch "Prepared Statements, parameterized table names?" New topic
Author

Prepared Statements, parameterized table names?

chandana sapparapu
Ranch Hand

Joined: Sep 28, 2002
Posts: 63
Hi,
I understand that using parameters for queries helps the DBMS to reuse optimization plans.
A query like
select * from x where y= ?

is better that "select * from x where y= 10"

My question is, is the optimization plan reusable for different tables..

like select * from ? where y=?.

Thanks
Julian Kennedy
Ranch Hand

Joined: Aug 02, 2004
Posts: 823
Hi Chandana,

The optimiser would have to generate a new query plan for each table. One reason for this is that different tables may have different indexes so the method of accessing the data may be different. Even if the indexes, etc. were all the same on different tables, the optimised query plan only provides a template for substitution of values.

The same query using different values can be executed the same way. The same query using a different table must be executed differently (i.e. on a different table! )

Jules
chandana sapparapu
Ranch Hand

Joined: Sep 28, 2002
Posts: 63
Hi Julian,
Thanks for the reply. I also had a feeling that it varies from table to table, but just wanted to confirm it. Thanks for the details .

Regards
 
It is sorta covered in the JavaRanch Style Guide.
 
subject: Prepared Statements, parameterized table names?
 
Similar Threads
searching BETWEEN values?
problem in mysql
Query Preparation
joins Vs nested queries
Can anyone use IN clause of query with preparedStatement like below?