oracle批量(batch)操作的使用
/**
* 更新记录,原子操作,不会commit
* @param sql_id
* @param condition
* @return
* @throws SQLException
*/
public boolean updateBatchSql(String sql, List<List<String>> conditions) throws SQLException {
boolean b = false;
if (sql == null || sql.trim().length() == 0) {
return b;
}
Connection conn = null;
ResultSet rs = null;
PreparedStatement pstmt = null;
//执行sql
try {
conn = handler.getConnection();
pstmt = conn.prepareStatement(sql);
//循环赋值
for (List<String> condition : conditions) {
for (int i = 0; i < condition.size(); i++) {
pstmt.setString(i + 1, condition.get(i));
}
pstmt.addBatch();
}
&
相关文档:
http://www.anysql.net/oracle/query_rewrite_01.html
Query Rewrite 在数据仓库是是一个非常有用的技术, Tom在<<Effective Oracle by Design>>一书中将实体化视图(MView)称为是数据仓库的索引, 这是再贴切不过的了, 在OLTP中当SELECT语句的所有的字段都在索引中时, Oracle可以不从表读数据, 而直 ......
SET NEWPAGE NONE HEADING OFF SPACE 0 PAGESIZE 0 TRIMOUT ON TRIMSPOOL ON LINESIZE 2500 colsep | feedback off termout off pages 0
set colsep |
alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';
set feedback on
declare cursor cur_no is
select beginno,endno from hm where 1=1;
b ......
项目中有一些报表,本身速度就不太快,遇到数据量大的情况,更是让人抓狂,用户也提出了报表速度慢的问题,于是想着如何实现报表的数据依赖缓存,即将报表数据缓存,当数据发生改变时,再重新获取数据。
最简单的方法,是在显示报表的aspx页面第一行加上形如<%@ OutputCache Duration="600" VaryByParam="some_par ......