MySQL vs CSV与.txt的性能,用于检索所有数据

时间:2016-07-30 17:43:27

标签: java mysql database csv

我正在使用last.fm数据集开发一个歌曲推荐系统。该数据集由100万个JSON文件组成,每个文件都包含一首歌曲的详细信息。我想将数据集转移到MySQL数据库或CSV文件或TXT文件。

要推荐一首歌,我需要所有其他歌曲的数据。所以基本上我必须检索存储的所有数据。那么应该在哪里存储数据以提供最短的检索时间?

我知道数据库设计用于在检索存储数据的子集时有效地存储和检索数据,并且在大多数情况下,与CSV或TXT文件相比,它是更好的选择。但在这种情况下,如果我将数据存储在MySQL数据库中,然后要检索数据,我将只触发select * from table个查询。这会比将数据存储为CSV或TXT文件更有优势吗?

它将成为Tomcat服务器上的Java Web应用程序。 即使我使用MySQL数据库来存储和检索数据,我也会查询一百万个条目。是否有可能耗尽内存错误?如果是CSV或TXT文件,我将逐行读取文件。因此不会出现任何内存不足错误。

需要考虑的事项:

  • 数据是静态的。存储数据后,只会读取数据。
  • 需要所有歌曲的数据。但是,一次只需要一首歌曲的数据。
  • MySQL数据库是本地的。所以没有带宽开销。
  • 如果从CSV或TXT文件中读取,我将使用BufferedReader

1 个答案:

答案 0 :(得分:0)

如果你确实需要所有的数据,而且没有任何关系 - 那么就像你已经发现的那样,RDBMS并不是你所需要的。

TXT或CSV很好。