【紧急:update的效率问题】........

smiler007 2005-05-15 07:56:47
向各位SQL高手紧急请教一个更新的效率问题

表(T_Balance)中的记录是170万条

字段:F_AccNo     --帐号
   F_Balance    --本日余额
F_LastBalance --上日余额

只对F_AccNo建立了索引。
每天都需要执行一下

update T_Balance set F_LastBalance=F_Balance

执行一次用时太久,在查询分析器里执行要3分多钟......能否有办法快一些??
...全文
199 13 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
jasengod2003 2005-05-17
  • 打赏
  • 举报
回复
好像真的沒有什麼好辦法,
我這邊了是這樣,一直沒有找到什麼好辦法,
我的可還是compaq專業服務器.
smiler007 2005-05-16
  • 打赏
  • 举报
回复
昏....邹老大都说没法子了....唉................

再等一天.....无解就散分...

多谢上面各位朋友的回答.....
fiele 2005-05-16
  • 打赏
  • 举报
回复
难道每天170万条信息都要更新,
zjcxc 元老 2005-05-16
  • 打赏
  • 举报
回复
服务器本身配置不太好,而且要更新大量数据,而且还要应付日常处理. 想不出有什么好办法.

因为你的update就一个最简单直接的语句,什么都没.
smiler007 2005-05-15
  • 打赏
  • 举报
回复
别沉了...顶上去.......
smiler007 2005-05-15
  • 打赏
  • 举报
回复
而且170万条......每天仍会有新增的记录加到其中.....
smiler007 2005-05-15
  • 打赏
  • 举报
回复

每天每条都要更新...没有用到触发器......唉...服务器不过就是一台P4的微机....

  希望得到高人的进一步指点,不胜感激!!
zjcxc 元老 2005-05-15
  • 打赏
  • 举报
回复
170万条,每条都要更新?

因为更新列不涉及到索引列,所以就更新本身而言,应该不受索引的影响,关键看楼主的更新会否触发触发器,或者是服务器本身的效率如何.
ghostzxp 2005-05-15
  • 打赏
  • 举报
回复
你的更新与F_AccNo的索引没有关系,只要不在要更新的字段上建就行了.

数据量大是个问题.最好能减少每次操作的数据量.
smiler007 2005-05-15
  • 打赏
  • 举报
回复
我建那个索引是因为要经常按帐号(F_AccNo)来进行查询.....
xluzhong 2005-05-15
  • 打赏
  • 举报
回复
对经常更新的数据,建立索引反而会减慢速度
smiler007 2005-05-15
  • 打赏
  • 举报
回复
感谢楼上回答.....

实际上表中的字段还有 “上月余额” “上年余额” “日均余额” “上年日均”..等一些的余额字段,是根据当天的日期值来更新的,如到了每月第一天,就要

update T_Balance set F_LastMonthBalance=F_Balance
然后再
update T_Balance set F_LastBalance=F_Balance

诸如此类....这样一来,更新所用的时间就更长了....

ghostzxp 2005-05-15
  • 打赏
  • 举报
回复
为什么不在生成 本日余额 每条记录 的时候自动更新 上日余额?

要这样更新的话,建一个任务让服务器自动更新,省你的时间啊

34,838

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧