首页 新闻 会员 周边

一天50w数据如何定方案

1
悬赏园豆:20 [已解决问题] 解决于 2010-09-06 14:09

最近做一个缓存,使用sql server 数据库来做的 建立了一个flight 表, 然后插入数据,数据是使用了Gzip 压缩发送过来的,接受页面解压缩了写入数据库  数据量很大 一天往该表写入数据大概是50万 同时可能还要跟新该表的数据,清理过期的数据 ,由于update  比较慢,我是先查询后直接删除了然后写入新的数据,但是数据量达到20万的时候sql server cpu 就永远是100%了

有同事说只有做订阅了,一台服务器查询,一台写入数据,不知道大家有没有更好的解决方法

数据库使用的是sql server 2005  希望大家帮忙分析下,多谢!

jackyong的主页 jackyong | 初学一级 | 园豆:149
提问于:2010-09-03 22:17
< >
分享
最佳答案
0

一天一个分区,你的update语句能否拿出来看看,通常插入不是什么问题,我有个日志数据库一天插入100万条数据很轻松,同时还有个SQL Server也是做类似的工作一天插入 3000 万条数据也未见垮过。

收获园豆:20
killkill | 小虾三级 |园豆:1192 | 2010-09-03 22:53
多谢!
jackyong | 园豆:149 (初学一级) | 2010-09-06 14:08
其他回答(1)
0

呵呵,看到killkill了。

对于这个问题,其实要看情况啦

1: 比如Temp表是否有足够的空间;

2: 还有就是可以把数据库模式设置为简单,这样插入和更新的时候就不会频繁写日志了。(如果简单可以满足的话)

3: 如果还不行的话,可以使用bcp命令来批量导入。

听风吹雨 | 园豆:295 (菜鸟二级) | 2010-09-09 01:33
谢谢提供问题的解决方案,问题killkill 帮忙解决了,公司DBA团队也帮忙优化了下,现在好多了!
支持(0) 反对(0) jackyong | 园豆:149 (初学一级) | 2010-09-09 08:04
呵呵,问题解决了就好,不知道是否方便说说解决的过程和方法?
支持(0) 反对(0) 听风吹雨 | 园豆:295 (菜鸟二级) | 2010-09-09 11:14
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册