免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1735 | 回复: 4
打印 上一主题 下一主题

update 表很慢,请教各位大虾 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-09-06 10:34 |只看该作者 |倒序浏览
做业务的时候更新表操作慢(前后两个update间隔1分左右):

    update ic_account_line
       set  status = '1'
       where  sequenceid = @originalsequenceid
              select @sqlcode   = @@error,
          @sqlrowcount = @@rowcount
       if @sqlcode != 0  
        begin
         if @sqlcode >; 0 select @sqlcode = (-1) * @sqlcode
         return(@sqlcode * 10000 -937
        end
                     
         update ic_account_line
         set  status = '1'
         where  sequenceid = @io_depseqid
         select @sqlcode   = @@error,
            @sqlrowcount = @@rowcount
         if @sqlcode != 0  
          begin
           if @sqlcode >; 0 select @sqlcode = (-1) * @sqlcode
           return(@sqlcode * 10000 -9379)
          end

===================
建表脚本:

create table dbo.trans_line (
voucherid        numeric(12, 0)        not null,
cardid        char(1        null,

......

belongdate        datetime        not null,
sequenceid        numeric(12, 0)        null,
recoveryvoucherid        numeric(12, 0)        null,
status        char(1)        DEFAULT   '0'        /*交易冲正标志,1冲正*/
        not null,
constraint pk_trans_line PRIMARY KEY  NONCLUSTERED ( voucherid)
)
on 'default'
go

create nonclustered index sequenceid_idx
on dbo.trans_line (sequenceid)
on 'default'
go

exec sp_bindrule 'dbo.direction_rule', 'trans_line.direction'
go
exec sp_bindrule 'dbo.trans_method_rule', 'trans_line.transmethod'
go
exec sp_bindrule 'dbo.voucher_type_rule', 'trans_line.vouchertype'
go

=========================

trans_line表中数据大概有200万行.  Lock scheme datapages

论坛徽章:
0
2 [报告]
发表于 2005-09-06 18:07 |只看该作者

update 表很慢,请教各位大虾

做个reorg rebuild,再重建索引,再做个update all statistics.然后再更新试试.

论坛徽章:
0
3 [报告]
发表于 2005-09-07 08:55 |只看该作者

update 表很慢,请教各位大虾

[quote]原帖由 "小无赖"]做个reorg rebuild,再重建索引,再做个update all statistics.然后再更新试试.[/quote 发表:



先还要看这一流水号的记录有多少.

论坛徽章:
1
2017金鸡报晓
日期:2017-01-10 15:19:56
4 [报告]
发表于 2005-09-07 09:14 |只看该作者

update 表很慢,请教各位大虾

ic_account_line 的索引是什么?

论坛徽章:
0
5 [报告]
发表于 2005-09-07 16:20 |只看该作者

update 表很慢,请教各位大虾

如果ic_account_line的sequenceID没有索引,则建立之。根据业务关系,尽可能建立唯一性索引
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP