【丹臣】重用大表空闲字段所带来的数据处理问题

上一篇 / 下一篇  2008-05-06 17:01:27

这下面是某业务的一个需求,需要在一张大表(test)中重用以前的ordercost字段,用以计数。因为重用,以前的数据,开发希望清0。但这张核心大表访问量实在太高,并且需要清零的记录数太大,如果要update的话,将会花很长的时间。

开发: 等明天前台发布后,能把test表的ordercost字段清零吗?
丹臣: 我查查数据量有多少?
丹臣: select count(*) from test where ordercost<>0;
  COUNT(*)
----------
  42771713   --dw给我提供的数据
丹臣: 数据量太大了
丹臣: 以前的数据有没有什么特征?
开发: 没有什么特征啊
开发: 应该一直在维护的
丹臣: 以前的数据好像都是很大的
开发: 嗯
丹臣: 我查一下这个字段的最小值
丹臣: 如果要更新,这个数据量太大了
丹臣: 1160331349608

在以上数据的支撑下,与开发沟通,因为此项业务所用的ordercost字段,最大的值也才几十万左右,通过在应用程序里加一点逻辑,如果此字段数据> 500万,那就取值为0,这样就可以不用去更新test这张超级大表了。这并不需要太多的技术,比如说采用批量更新大表的手段,而是采用合理的策略去避免这样的操作。

做产品DBA,是一件非常灵活的工作。如果大家以后也遇到类似的案例,也请发出来,大家共同成长!最后,谢谢dw提供了以上的统计数据。

--EOF--


TAG:

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

我的栏目

日历

« 2008-05-17  
    123
45678910
11121314151617
18192021222324
25262728293031

数据统计

  • 访问量: 5287
  • 日志数: 80
  • 建立时间: 2008-03-27
  • 更新时间: 2008-05-14

RSS订阅

Open Toolbar