我有一个 SQLite3 数据库文件 MyDatabase.sqlite
,有 100 万行和 50 列(文件大小约为 200MB)。我想从此文件加载数据并将其显示在 WPF Datagrid
上。
DataTable dt = new DataTable();
using (SQLiteCommand cmd = new SQLiteCommand("Select * from Orders", conn))
{
using (IDataReader rdr = cmd.ExecuteReader())
{
dt.Load(rdr);
}
}
执行大约需要 54 秒。 SQLiteAdapter.Fill(dataset)
也需要相同的时间。有没有更快的方法从 SQLite DB 获取数据?
最佳答案
我建议您逐 block 选择sql表。
例如(前 200 个,然后是第二个 200 等等)。只需找到一个您觉得舒服的号码即可。
您只需在 SQL 事务中使用 ROW_NUMBER
即可完成此操作,该事务具有良好的文档和示例 here .
从数据库中重新查询新的数据 block 后,使用 this 将新行添加到数据表中.
关于c# - 从 SQLite 数据库文件检索一百万条记录并将其显示在 WPF 数据网格中的最快方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30599985/