重用大表空闲字段所带来的数据处理问题
来源:互联网 发布:php开源图片管理系统 编辑:程序博客网 时间:2024/06/14 10:46
这下面是某业务的一个需求,需要在一张大表(test)中重用以前的ordercost字段,用以计数。因为重用,以前的数据,开发希望清0。但这张核心大表访问量实在太高,并且需要清零的记录数太大,如果要update的话,将会花很长的时间。
开发: 等明天前台发布后,能把test表的ordercost字段清零吗?
丹臣: 我查查数据量有多少?
丹臣: select count(*) from test where ordercost<>0;
COUNT(*)
----------
42771713 --dw给我提供的数据
丹臣: 数据量太大了
丹臣: 以前的数据有没有什么特征?
开发: 没有什么特征啊
开发: 应该一直在维护的
丹臣: 以前的数据好像都是很大的
开发: 嗯
丹臣: 我查一下这个字段的最小值
丹臣: 如果要更新,这个数据量太大了
丹臣: 1160331349608
丹臣: 我查查数据量有多少?
丹臣: select count(*) from test where ordercost<>0;
COUNT(*)
----------
42771713 --dw给我提供的数据
丹臣: 数据量太大了
丹臣: 以前的数据有没有什么特征?
开发: 没有什么特征啊
开发: 应该一直在维护的
丹臣: 以前的数据好像都是很大的
开发: 嗯
丹臣: 我查一下这个字段的最小值
丹臣: 如果要更新,这个数据量太大了
丹臣: 1160331349608
在以上数据的支撑下,与开发沟通,因为此项业务所用的ordercost字段,最大的值也才几十万左右,通过在应用程序里加一点逻辑,如果此字段数据>500万,那就取值为0,这样就可以不用去更新test这张超级大表了。这并不需要太多的技术,比如说采用批量更新大表的手段,而是采用合理的策略去避免这样的操作。
做产品DBA,是一件非常灵活的工作。如果大家以后也遇到类似的案例,也请发出来,大家共同成长!最后,谢谢dw提供了以上的统计数据。
--EOF--
- 重用大表空闲字段所带来的数据处理问题
- oracle更换表空间 blob字段带来的问题
- 关于使用AJAX所带来的问题
- 由求值顺序所带来的问题
- IE cache缓存 所带来的问题
- IE cache缓存 所带来的问题
- eVC 移植所带来的已知问题
- 数据库应用程序迁移所带来的问题
- 代码不兼容所带来的问题
- Jquery版本不同所带来的问题
- 电子商务秒杀所带来的问题?
- 电子商务秒杀所带来的问题
- 闭包所带来的问题
- session 重用带来的性能
- 并发带来数据处理方式问题
- 网站大流量带来的问题
- 大数据时代带来的伦理问题
- mysql大事务带来的问题
- 唯一性索引和非唯一性索引深入
- 对于测试架构师的简单理解
- 用Perl的hash数组实现个性化监控
- 快速复制一张大表讨论
- 优化SQL的另类思考
- 重用大表空闲字段所带来的数据处理问题
- 利用googlecode创建在线subversion版本库
- 分页sql中普通写法和rowid写法的性能比较
- 不让自己显示在彩虹QQ的隐身列表中
- 一个无聊男人的疯狂《数据结构与算法分析-C++描述》学习笔记 用C++/lua/python/bash的四重实现(3) 最大子序列和问题
- 为什么人总是那么现实?有些东西真不会做,可真没有人愿意帮忙。发了也无人问津呢?
- 老紫竹JAVA提高教程(5)-认识Set集合之EnumSet
- Adobe Flex resources
- 动态二进制代码翻译[1][VM Versatile platforms for systems and process]