zoukankan      html  css  js  c++  java
  • 一次优化小例子

            --accountRecord表主键是tradeno varchar(50)类型,没有其他合适的索引可用
            --数据量8000W,新建索引也不太现实
            --用此种方法,本来执行一次需要十秒左右,这种方法只需要一秒
            --第一次执行的时候取一次最小的tradeno,以后每次都会更新最小tradeno,大大提升性能!!!
            declare @i int =0
            declare @tradeno varchar(50)        
            while @i<10
            begin
                if @i=0
                    select @tradeno=min(tradeno) from accountRecord where wCompleteTime  is null and CompleteTime is not null
                select @tradeno=min(tradeno) from accountRecord where tradeNo>=@tradeno and  wCompleteTime is null and CompleteTime is not null
                update  accountRecord set wCompleteTime =CompleteTime  where  1=1
                and tradeNo in (select top 20000 tradeNo from accountRecord  where tradeNo>=@tradeno and wCompleteTime  is null and CompleteTime is not null order by tradeNo asc)            
                set @i=@i+1
                PRINT CAST(@i AS VARCHAR(4))+'    '+@tradeno+'    '+convert(varchar(25),getdate(),121)+REPLICATE(' ',4000)
                WAITFOR DELAY '0:00:02'
            end
  • 相关阅读:
    进程,进程
    hmac和socketserver
    下载Eclipse、下载Java各个版本,来这里就对了
    Java循环语句怎么用?经典排序算法见真知
    CSS基本语法
    Html属性标签
    HTML标记大全参考手册
    composer 安装Laravel (win10)
    composer 安装(win)
    GIT
  • 原文地址:https://www.cnblogs.com/davidhou/p/5629276.html
Copyright © 2011-2022 走看看