用QT C++过滤BIG数据的最佳方法。

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

在我开始编写程序之前,我需要一些建议.我有一个巨大的数据量(大约1500万行,300MB的txt文件,每行10个简单的数字,用空格隔开,每行都是唯一的数字序列).这些数据是固定的,不会改变。每行10个简单的数字用空格隔开,每行都是唯一的数字序列).这些数据是固定的,不会改变。

我需要在各种条件下对这些数据进行过滤。(例如搜索10个数字中有3个相同的所有序列,或者找到所有相同总和的序列等)。

请问用QT C++的方式来完成这个任务,有什么推荐的方法吗,从哪里开始?数据怎么处理?保存在txt文件中,然后从那里加载或者插入到SQLite中。有什么推荐的方法可以完成这个任务?

c++ qt qtcore
1个回答
0
投票

300兆字节对于一个应用程序来说并不是一个很大的内存。TXT文件是最简单的,但你可以使用任何东西。你可以简单地用C++读取数据并处理它。

根据标准进行过滤,通常可以进行优化。但是每个需求都有不同的优化。所以并没有一种算法对所有标准都是快速的。

你可以先用增量法,把所有的线路都走一遍,验证标准。

for (size_t i = 0; i < 15000000; ++i)
{
  read_line();
  if (check_criteria())
    save_result();
}

然后研究出适用于所有情况的优化方案。

© www.soinside.com 2019 - 2024. All rights reserved.