Oracle数据库sql语句收藏
2010-12-02 13:46
316 查看
备份删除数据
insert into lzcard_temp
(colum1,colum2,colum3)
select colum1,colum2,colum3
-- delete
from lzcard t
where t.stateflag='1' and t.makedate < to_date('2010-08-31','yyyy-MM-dd');
根据普通列查询(不是主键,没有索引)保存150W条数据需要到另一张表需要90秒的时间。
但删除这150W条数据需要将近三分钟。
高效分页sql
@Override
public List getPagnationList(int max, int whichpage,String name,String state) {
int maxind = whichpage*max;
int minind = maxind-max+1;
List list=new ArrayList();
try {
int index = (whichpage - 1) * max;
String sql="select t.*,rownum rn from users t where 1=1 ";
String sqlCount="select count(*) from users t where 1=1 ";
if(name!=null && !"".equals(name)){
sql+=" and name like '%"+name+"%'";
sqlCount+=" and name like '%"+name+"%'";
}
if(state!=null && !"".equals(state)){
sql+=" and status='"+state+"'";
sqlCount+=" and status='"+state+"'";
}
sql+= " and rownum <= "+maxind+" ";
sql="SELECT * FROM ("+sql+") a where rn>="+minind;
Query query = entityManager.createNativeQuery(sql);
Query count = entityManager.createNativeQuery(sqlCount);
list.add(query.getResultList());
list.add(count.getSingleResult());
entityManager.clear();// 分离内存中受EntityManager管理的实体bean,让VM进行垃圾回收
return list;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
insert into lzcard_temp
(colum1,colum2,colum3)
select colum1,colum2,colum3
-- delete
from lzcard t
where t.stateflag='1' and t.makedate < to_date('2010-08-31','yyyy-MM-dd');
根据普通列查询(不是主键,没有索引)保存150W条数据需要到另一张表需要90秒的时间。
但删除这150W条数据需要将近三分钟。
高效分页sql
@Override
public List getPagnationList(int max, int whichpage,String name,String state) {
int maxind = whichpage*max;
int minind = maxind-max+1;
List list=new ArrayList();
try {
int index = (whichpage - 1) * max;
String sql="select t.*,rownum rn from users t where 1=1 ";
String sqlCount="select count(*) from users t where 1=1 ";
if(name!=null && !"".equals(name)){
sql+=" and name like '%"+name+"%'";
sqlCount+=" and name like '%"+name+"%'";
}
if(state!=null && !"".equals(state)){
sql+=" and status='"+state+"'";
sqlCount+=" and status='"+state+"'";
}
sql+= " and rownum <= "+maxind+" ";
sql="SELECT * FROM ("+sql+") a where rn>="+minind;
Query query = entityManager.createNativeQuery(sql);
Query count = entityManager.createNativeQuery(sqlCount);
list.add(query.getResultList());
list.add(count.getSingleResult());
entityManager.clear();// 分离内存中受EntityManager管理的实体bean,让VM进行垃圾回收
return list;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
相关文章推荐
- oracle数据库sql语句02
- oracle数据库实现行转列和列转行的Sql语句
- oracle数据库sql语句11 函数
- Oracle数据库常用操作sql语句
- 数据库SQL语句优化总结(收藏)
- 常用SQL语句收藏 <二>
- 根据top进程抓取oracle数据库耗费资源的sql语句
- SQL语句收藏
- 比较好的sql语句收藏
- [分享]精典的SQL语句,推荐收藏
- sql语句收藏
- oracle数据库sql语句left join,right join,inner join的条件on和where的区别
- sql语句读取oracle数据库表的张数及表的字段数
- Oracle数据库维护常用SQL语句集合
- 精典的SQL语句,推荐收藏
- oracle数据库SQL语句
- oracle数据库查询日期sql语句(范例)、向已经建好的表格中添加一列属性并向该列添加数值、删除某一列的数据(一整列)
- cmd连接Oracle数据库成功后输入sql语句返回 2
- SQL语句往Oracle数据库中插入日期型数据
- 关于Oracle数据库的SQL语句使用时的一些技巧。