SQLite,读取并解析相当大量的数据

时间:2016-11-17 08:28:50

标签: c# sqlite gtfs

我正在从相当大的SQlite表中读取纬度和经度(作为双精度)。使用外部工具(DB Browser for Sqlite),查询需要200ms才能执行(超过2百万个结果)。但是,在我的代码(相同的查询)中,它需要大约8-10秒。这是代码(使用Sytem.Data.Sqlite的C#):

string sql = "SELECT shape_pt_lat, shape_pt_lon FROM shape";
List<double> lats = new List<double>();
List<double> lons = new List<double>();
using (var command = _connection.CreateCommand())
{
    command.CommandText = sql;
    SQLiteDataReader r = command.ExecuteReader();
    while(r.Read())
    {
        lats.Add(r.GetDouble(1));
        lons.Add(r.GetDouble(2));
    }
}    

我意识到在解析双打时可能会花费很多时间,但我编写了一个示例应用程序,能够在600毫秒内解析400万双打。我对任何加快这一点的建议持开放态度,并且可以考虑并行处理它?感谢您的任何建议。

0 个答案:

没有答案