我正在寻找有关将大量数据从 SQL 表中提取到内存中以进行持续分析的最佳解决方案的建议

问题描述 投票:0回答:0

早安,

感谢任何人看这个。不寻找问题的特定代码。相反,我正在寻找一些关于我的问题最有效解决方案的一般性建议。

我正在尝试对 Microsoft SQL 数据库中的库存数据进行分析。我只查看今天 I.E. 的数据。所有股票在一天内交易的所有柱线。每天大约有 152 万行(到一天结束时)。

为了完成我要计算的内容,我每次进行分析时基本上都必须提取当天所有条目的每一行。不是同时全部,但是一旦你完成了每个符号,你就拉了每一行。一切正常,但需要 1 分钟到大约 3 分钟才能完成,具体取决于当天的晚些时候。更多的酒吧等于更多的时间。

我想做的是将分析的每次迭代缩短到 30 秒或更短,我相信这样做的唯一方法是在应用程序加载时将其拉入内存,并有一个进程在加载时为其提供新的柱线进来,然后对内存中的条形数据运行分析,而不是将其从数据库中拉出。我的问题是在内存存储中最好的机制是什么。

首先想到的是 ConcurentDictionary 的单例> 字符串将是股票代码 datetime 是柱的唯一时间戳,小数点将是该柱的股票价值。

但是,我想挑选那些比我更擅长编码的人的大脑(这对我来说充其量是一种成熟的爱好)。想法?

提前感谢您的任何反馈。

我有超过 11,000 只个股,每天每只股票有 10 到 600 个条目。

c# performance sqlperformance
© www.soinside.com 2019 - 2024. All rights reserved.