寻找指南在PreparedStatement API

时间:2017-11-17 22:02:56

标签: performance jdbc db2

我们最近发现在resultSetType=TYPE_SCROLL_INSENSITIVE中使用prepareStatement(String sql, int resultSetType, int resultSetConcurrency)而不是默认prepareStatement(String sql)会导致db2生成/使用不同的访问计划,这可能导致查询时间明显不同,具体取决于表大小/过滤范围/等。

我们使用DB2 LUW V10.5 FP8。

只是想知道在性能优化,DB2或其他RDBMS方面是否有关于如何选择此resultSetType属性的指导原则?顺便说一句,我们不会更改ResultSet,因此我们允许使用*INSENSITIVE

1 个答案:

答案 0 :(得分:0)

TYPE_SCROLL_INSENSITIVE

应谨慎使用,默认为ASENSITIVE。这允许Db2创建一个INSENSITIVE或SENSITIVE游标,具体取决于它认为最好的。

至少使用Db2 for i,INSENSITIVE会导致数据库创建数据副本。