我开发了一个vb.net应用程序,它可生成大约100-200列时间序列数据,最多50000行(我有100-200个变量,最多可达50000个时间步长)。在应用程序中,我可以将此数据放入数据集中,或使用字典或列表。这一切都很好,也很快。
现在我需要将所有数据写入磁盘以供以后使用/分析。所需信息是:变量名称,时间ID和双精度值。我发现了几篇关于数据库等的帖子。但是我仍然不确定什么是最有效的方法来保存这些数据。我尝试将数据保存在数据集中,然后写入xml或使用binaryformatter写入二进制文件。这可行,但是我得到相当大的文件并且读取数据需要太长时间。 我也尝试在字典中写入数据(字符串,字典(整数,双))。字符串是列名/变量名,intger是时间ID,double是实际值。如果我用这个写的话二进制格式的性能也不是最好的。在文件中读取大约需要30秒(40000行,60列)..
也许我应该补充一点:当我在将数据存储到磁盘上后读入数据时,我只需要绘制数据,在数据网格视图中显示它并计算最大值最小值和总和,所以没什么好看的。
我还没有尝试过使用SQLite来保存数据库中的数据。我不熟悉SQLite,并希望得到一个关于这是否是更快的解决方案的意见。
或者还有其他更快的方法吗?
答案 0 :(得分:0)
尝试CSV(逗号分隔值)格式。它受到广泛支持并且开销很小。
但是如果你想要表现,你应该在这里使用数据库。