关于大数据量的问题,经验丰富者里面谈!

xiaxiong 2001-07-27 12:45:35
加精
现在遇到大问题:我们的数据量很大(某些表),而又经常用这些表,我们通过拆分的方法,将某段时间的数据转移到另外一个表,将这些经常用的数据表,尽量保持少的数据(我们每天都很多数据,以后每天处理前一天数据的转存,以此类推)。
可是数据量太大了,处理起来速度太慢了,想请教大家一下如何优化使之速度提高,十分感谢!

我们用的是MS SQL SERVER ,数据量大概有几百万条记录,每天都有好几千条记录,数据库大概都用2、3G大小,高手们出手吧!
...全文
259 30 打赏 收藏 转发到动态 举报
写回复
用AI写文章
30 条回复
切换为时间正序
请发表友善的回复…
发表回复
vfp_database 2001-11-30
  • 打赏
  • 举报
回复
我的数据量也和你的差不多。只要索引用得好就行了。。

不过我的是双PIII900 RAM512M用硬件的磁盘阵列卡。

一般都在三秒内找到数据。。。
蓝天 2001-11-26
  • 打赏
  • 举报
回复
1,做个job每天定时自动拆分如何?
2,有多少历史数据是你不需要的数据?
昵称被占用了 2001-11-18
  • 打赏
  • 举报
回复
收藏!
ideage 2001-10-16
  • 打赏
  • 举报
回复
xiaxiong:
 朋友,我的问题和你的一模一样!真的!我们交个朋友好吗?
 我的QQ:82357513,E_mail:ideage@21cn.com.
我们用的也是MS SQL SERVER ,数据量大概有几百万条记录,每天都有好几千条记录,数据库大概都用2G了,我也用PB,也是分割的表.
xiaxiong 2001-07-28
  • 打赏
  • 举报
回复
删除索引?
jianping0 2001-07-28
  • 打赏
  • 举报
回复
gz
nononono 2001-07-28
  • 打赏
  • 举报
回复
我的意思:删除Table1的索引看看速度是不是有提高,目的是分析时间花在哪里。
如果因为维护索引需要时间,再对索引进行优化。其实,这已经不太重要了。

你的这个处理频度并不大(最多每月一次吧),30多分钟还是可以接受的。
xiaxiong 2001-07-28
  • 打赏
  • 举报
回复
?
xiaxiong 2001-07-27
  • 打赏
  • 举报
回复
都睡着了吗?
nononono 2001-07-27
  • 打赏
  • 举报
回复
这么说是不是基本就需要这些时间?!

如果还要分析, 建议删除其它索引进行比较.
luhongjun 2001-07-27
  • 打赏
  • 举报
回复
精彩。
xiaxiong 2001-07-27
  • 打赏
  • 举报
回复
我是直接取日期型字段比较
xiaxiong 2001-07-27
  • 打赏
  • 举报
回复
table2 记录的选择条件是一个日期时间型数据,必须那样做!

我用DTS package去做的,将上面的作条件!
nononono 2001-07-27
  • 打赏
  • 举报
回复
你的条件是不是比较日期字段中的年月而不是用日期字段直接比较?
如果是这样,取年月的表达式可能无法利用索引。
nononono 2001-07-27
  • 打赏
  • 举报
回复
table1 的索引对效率的影响有多大?
对比有索引/无索引的情况。

table2 记录的选择条件是否合理?
根据上面的文章进行优化。
xiaxiong 2001-07-27
  • 打赏
  • 举报
回复
主要花在第1步,因为它要从很多数据中抽取数据插入到另一个表中!
nononono 2001-07-27
  • 打赏
  • 举报
回复
3-5百兆 - 30几分钟
是稍长了。

你的table1和table2表中有很多索引吧?

针对table1/table2的索引数量(全部保留和全部删除)不同,分别测试2步操作所需的时间:

1。insert table1 (a,b,c) select a,b,c from table2 where a<@i
2。delete from table2 where a<@i

看看时间到底花在哪里?


要在备份上测试哦!
xiaxiong 2001-07-27
  • 打赏
  • 举报
回复
数据量不一定,一般都在3-5百兆,用30几分钟
nononono 2001-07-27
  • 打赏
  • 举报
回复
相信你已经对字段a建立了索引。
如果你追求转移的效率(不考虑其它访问的效率),可以尝试对a建立群集索引。

如果表中的索引过多,也会在删除时需要大量的时间进行索引的更新。

另外,你这样的转移的字节量大约是多少,用多少时间?
nononono 2001-07-27
  • 打赏
  • 举报
回复
简单地说:
缺省情况下建立的索引是非群集索引。
在群集索引下,数据在物理上按顺序排在数据页上,重复值也排列在一起。
指定了多个字段的索引组合索引。
加载更多回复(10)

34,587

社区成员

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

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