c# - 从 SQLite 数据库文件检索一百万条记录并将其显示在 WPF 数据网格中的最快方法是什么?

标签 c# wpf datagrid sqlite

我有一个 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/

相关文章:

MVVM下的WPF DataGridTemplateColumn可见性绑定(bind)

c# - 当 ASP.Net 收到具有 DateTime 属性的已发布模型时,什么决定了 DateTime.Kind?

c# - 没有 MediaTypeFormatter 可用于从媒体类型为 'Product' 的内容中读取类型为 'text/plain' 的对象

c# - 如何安全地将数据传输到公共(public) Web 服务/从公共(public) Web 服务传输数据

c# - 基于模式为 XML 文件创建 WPF 编辑器

c# - 更新数据网格wpf中的单元格

apache-flex - 柔性 :datagrid sorting doesn't seem to work

c# - WPF 绑定(bind)未正确更新

WPF/Silverlight 企业应用程序架构.. 你是做什么的?

c# - 将自定义工具提示添加到 DataGrid 中的行