【数据库】用游标简单修改大批量数据(三千七百万数据)

本文介绍了如何利用游标来优化大表的批量数据修改操作,对比了直接UPDATE语句与游标方法的效率,游标方法将耗时从约16分钟降低到3分钟左右。同时强调了游标使用后及时关闭以防止服务器资源浪费。
摘要由CSDN通过智能技术生成

对于大表批量操作建议用游标操作.

如对以下大表的操作,直接update耗时约16min;运用游标后耗时3min左右

注意:游标打开后,服务器会专门为游标分配一定的内存空间存放游标操作的数据结果集,同时使用游标也会对某些数据进行封锁。所以游标一旦用过,应及时关闭,避免服务器资源浪费

关于游标的具体使用请移步参考:https://www.cnblogs.com/jdzhang/p/7576520.html



declare
  po_success integer;
  po_info    varchar2(2000);
  cursor cur_cdr is
  --查询目标数据
  SELECT ID FROM LISTING_QUEUE_LAZ where  SALE_SITE='SGAMZ';
   
  type type_listing_queue_laz_id is table of LISTING_QUEUE_LAZ.ID%type;
  table_listing_queue_laz_id type_listing_queue_laz_id;


  ln_cnt number := 0;

begin
  open cur_cdr;
  loop
    fetch cur_cdr bulk collect
      into table_listing_queue_laz_id limit 10000;
  
    ln_cnt := ln_cnt + table_listing_queue_laz_id.count;
  
    -- forall i in 1 .. tab
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值