Oracle数据库sql语句收藏

备份删除数据
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;
    }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值