准备好的语句和JDBC驱动程序

时间:2010-07-08 08:04:02

标签: java jdbc prepared-statement

我对Java中的准备语句有以下问题。

  1. 当SQL Query没有任何Where子句时,使用Prepared Statements是否有益?假设一个简单的查询Select * from tablename;

  2. 据说Prepared Statement编译一次,只有第二次替换值。因此,它可以更快,因为可以跳过查询验证和编译步骤。编译表格存储在哪里?这个汇编表格的续航时间是多少?

2 个答案:

答案 0 :(得分:2)

  1. 当要传递参数以及重复执行查询时,PreparedStatement很有用。如果有一个简单的查询被触发一次,那么Statement将证明更快。

  2. 缓存发生在DB服务器上。数据库服务器具有帮助缓存已编译查询的API。因此,对于重复执行查询,相同的编译查询将再次运行并提高性能。

答案 1 :(得分:2)

  1. 每次有来自用户的输入或更多内容时,请使用PreparedStatement。它将帮助您转义所需的字符以防止SQL注入和查询中的错误。