1

我想使用连接属性指定要为连接池对象预取的行数,以覆盖默认的行预取​​大小(10)。

我已经设置了如下所述的连接属性,但是在执行查询时它没有反映。请检查并告诉我们解决方案。

示例代码片段:

String dataSourceJndiName = "TestDataSource"; 
int oraPrefetchSize = 500; 

try { 
    NamingContext ctx = new NamingContext();  
    DataSource dataSource = 
       (DataSource)ctx.getContext().lookup(dataSourceJndiName);
    conn = ds.getConnection(); 
    Properties props = new Properties(); 
    props.put("oracle.jdbc.defaultRowPrefetch", oraPrefetchSize); 
    conn.setClientInfo(props); 
} catch(Exception e) { 
    logger.error("Exception while getting connection object", e); 
} 

请注意,我已在 Toad 中使用“数据库 -> 监视器 -> SGA 跟踪/优化”选项检查 defaultRowPrefetch 属性是否正常工作。

例如,我观察到执行查询的以下属性:

Rows Processed: 1200 
Fetches:         121 

由于我已将“oracle.jdbc.defaultRowPrefetch”设置为 500,因此提取次数应为 3。

4

0 回答 0