![](/img/trans.png)
[英]PreparedStatement , CallableStatement and Performance Considerations
[英]PreparedStatement performance tuning
有什么方法可以改善預准備語句的性能? 它涉及許多選擇查詢。 我這樣查詢:
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。
服務器是准備查詢的(這就是為什么需要連接的原因)。 為了提高准備好的語句的性能,您必須調整數據庫服務器本身(索引等)。
另一種方法是編寫僅獲得所需結果的查詢。
另一個想法是在客戶端緩存您將要使用的大量數據,這樣您就不會一次又一次地在數據庫中查詢相同的數據。
您可能還需要調查JDBC驅動程序是否支持語句緩存。 我知道oracle的JDBC驅動程序確實支持。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.