sql server2005大数据量(9000W行,24GB)能不能做到边查边取结果

柳倾城 发布于 2013/10/18 15:53
阅读 775
收藏 1

开源之夏第三届火热来袭,高校学生参与赢万元奖金!>>>

        目前有一个240GB的sql server数据库文件,分了10个表,每个表24GB左右,9000W行数据。

        查询我想要的结果没加索引要8分钟以上,加了1分钟,速度还是很慢。X86的服务器查询带入条件sql server会停止响应(突破应用2G内存限制),现在换到64位机,8G内存。

        能不能一次查询这9000W条数据,查一部分就开始处理,并丢弃数据,直到处理完,这个需求可以实现么,异步?或者是有什么别的办法也可以告诉我下。

        下面说下现在的情况,这些数据都是股票的每日实盘tick,现在要从数据库中导入hdf5文件。

         求解答啊,先按股票转存txt也可以。

加载中
0
不是胖子
不是胖子
我只是打个比喻,你好好看看MSSQL分区的概念,和你说的分表不是一回事
柳倾城
柳倾城
嗯,我去看下
0
不是胖子
不是胖子
分区可以解决不,你这9000W确实大量点
柳倾城
柳倾城
分区是指分页查、分块查还是别的什么啊?
0
不是胖子
不是胖子
分区就是把大表按条件差分成小表,每个小表的数据量少了,你查询不就快了吗
柳倾城
柳倾城
明白了,谢谢,目前没有考虑再分表,再分表的话和条件查询处理的工作量差不多了,再次感谢
0
寻梦2012
寻梦2012
你可以按天分区,或者按照股票类型分区。那么当你查询的时候会直接去某个分区找,那样的话会快很多。
柳倾城
柳倾城
嗯,谢谢,正在验证分区的知识
0
智能矩阵
智能矩阵

我是做数据内存化的。

2005上分表是唯一可选的方法,按照时间横拆或者字段列拆,分布到若干台服务器。边查边显示结果,需要算法下沉到查询过程,对线程资源分配有要求。

这数据如果是高频交易数据,我这做过一个,是从磁盘向我的内存数据库加载全量后做分析。

是800股票5年的2.6亿行高频16GB,K线计算20秒,将算法进一步下沉后,10秒。数据从磁盘加载到内存是30秒(10GE网口)。4物理核8线程的至强E5,每核每秒处理300万行,磁盘数据加载到内存每秒每核80万行。

对于高频数据服务,我们有个方案是将数据分布在E3服务器上,每个E3可装载24GB数据加载到内存,一个4U高度的微服务器能加载24*18=432GB(用虚拟化管理)。然后由一个前端服务器提供分析服务。——预计10年2400股票高频记录的K线计算应该是秒级的。

我们是做内存计算的,不是做证券的。

柳倾城
柳倾城
谢谢了
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部
返回顶部
顶部