使用CSV文件作为数据库的效率

本文关键字:数据库 效率 CSV 文件 使用 | 更新日期: 2023-09-27 17:50:22

我有一个大的(350 MB) CSV文件,我需要查询。我每天都会将数据文件作为数据转储,这样我就可以对这些数据进行一些日常处理。一旦我有了数据,我想以更频繁的间隔查询它。我在想怎么做最好。

我在想我有两个选择。

  1. 连接OleDbConnection,然后直接使用OleDbDataAdapter查询,如下所示

    OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + base.applicationRoot + ";" + "Extended Properties='"text;HDR=Yes;FMT=CSVDelimited'"");
    OleDbDataAdapter adapter = new OleDbDataAdapter(String.Format("select something from [{0}]", base.csvFileName), conn);
    
  2. 将整个csv文件传输到2012年sql server数据库表中,然后从该sql表中查询。

什么是更好的方法?或者,使用CSV文件作为数据库(只读)的效率有多低?

使用CSV文件作为数据库的效率

我会将csv插入数据库以获得更强大的查询功能。如果你使用的是SQL server,你甚至可以使用标准的批量插入命令批量插入csv文件。

http://blog.sqlauthority.com/2008/02/06/sql-server-import-csv-file-into-sql-server-using-bulk-insert-load-comma-delimited-file-into-sql-server/

如果是离线解决方案,您可以使用SQLite而不是Sql Server。与CSV相比,这将提供良好的性能,但会带来每天构建一次的开销。