本文主要是介绍jdbc优化,零碎,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
例如:
For(int I = 0; I < 1000; ++I)
{
PreparedStatement ps = conn.prepareStatement("select a,b from t
where c = " + I);
ResultSet rs = Ps.executeQuery();
Rs.close();
Ps.close();
}
这里不会用到缓冲. 每次循环向数据库发送一条不同的 SQL 语句. 每次循环都重新
计算新的访问 方案, 用这种方法我们会浪费大量的 CPU 周期. 但是, 看看下一个片
段:
PreparedStatement ps = conn.prepareStatement("select a,b from t where c
= ?");
For(int I = 0; I < 1000; ++I)
{
ps.setInt(1, I);
ResultSet rs = ps.executeQuery();
Rs.close();
}
ps.close();
这样就会高效得多. 发送给数据库的语句在 sql 中使用 @#?@# 符号来参数化. 这意味着
每次循环 发送的是同一条语句, 在 "c=?" 部分带有不同的参数. 这样就允许数据库
重用语句的访问方案, 是程序在数据库内部运行得更高效. 这基本上能使你的程序
运行得更快, 或者使数据库用户能更多 地使用 CPU.
这篇关于jdbc优化,零碎的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!