java - PreparedStatement性能调优

标签 java jdbc

有什么方法可以提高准备好的语句的性能吗?这是关于许多选择查询的。我这样查询:

 String query = "SELECT NAME, ADDRESS " 
                + "FROM USERS "
                + "where ID = ? "
                + "group by NAME, ADDRESS";

PreparedStatement pstmt = connection.prepareStatement(query);

for(long id: listIDs){
   pstmt.setLong(1, id);
   ResultSet rs = pstmt.executeQuery();

   ...
}

数据库是MySQL。

最佳答案

它是准备查询的服务器(这就是您需要连接的原因)。为了提高准备好的语句的性能,您必须调整数据库服务器本身(索引等)。

另一种方法是编写仅获得您想要的结果的查询。

另一个想法是在客户端缓存您知道会经常使用的数据,这样您就不会一次又一次地在数据库中查询相同的数据。

关于java - PreparedStatement性能调优,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10126427/

相关文章:

java - 使用Java Loop for ArrayList每次打印

java - Java 与 .NET Func<> 和 Action<> 委托(delegate)最接近的是什么?

java - Java 中绑定(bind)变量的 SQL 查询需要很长时间

java - 在 Spark SQL 中加载 JDBC 表时数据不正确

java - 迭代列以查找具有最后一个非零值的列

java - 为什么从生成的 jar 中找不到 jdbc 驱动程序?

java - 使用 CSV-JDBC 驱动程序读取没有 header 的 CSV 文件

java - ResultSet.TypeForwardOnly 和 Result Set.Type Scrollable 之间的区别

java - Android在fragment中刷新listview

java - 在 Java 中使用公共(public)字段是否可以?