C# .Net CF SqlCeDataAdapter DataSet 填充速度慢

标签 c# compact-framework sql-server-ce

我在 Compact Framework 应用程序(SQLServer Compact Edition 数据库)中的数据库性能方面遇到了一些问题。

我所做的是:

  1. 使用 SqlCeDataAdapter 查询数据库中的一些数据,作为返回,我得到 6 行数据 sqlCeDataAdapter = new SqlCeDataAdapter(query, Sql_Connection);

  2. 然后,我使用 SqlCeDataAdapter 填充方法用数据填充数据集。 sqlCeDataAdapter.Fill(resultSet);

  3. 循环数据集..

当我有 300 行数据时,整个函数执行所需的时间不到一秒,但如果我有 ~10 000 行数据,则需要大约 6-7 秒(这在我的应用程序中太多了)。

在这两种情况下,它都会返回完全相同的行,但填充方法会减慢速度......

调用fill方法时是先查询数据库还是?

除了减少行数之外,我还能做些什么吗?

此外,如果我更改查询,以便数据库返回 0 行,它仍然需要相同的时间...

最诚挚的问候

埃德蒙

最佳答案

建议您避免在 .NET CF 上使用 DataSet,因为它消耗太多内存,并且实质上是在 RAM 中复制数据库。如果需要数据绑定(bind),请使用 SqlCeResultSet,否则只需使用 SqlCeDataReader

关于C# .Net CF SqlCeDataAdapter DataSet 填充速度慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9376118/

相关文章:

c# - 更新或删除数据库结果的当前行

c# - 同一个配置文件上的两个不同的提供者

c# - jquery Ajax 响应文本 "There was an error processing the request"

c# - 使用从 Win32 API CreateFile(C++、P/Invoke)返回的句柄创建的 FileStream 对象(.NETCF、C#)是否容易发生 .NET 垃圾收集

c# - 如何从末尾截断文件 X 字节?

c# - 在紧凑型和完整 .net 框架之间切换编译?

c# - 关闭或不关闭数据库中的连接

c# - 使用 LINQPad 将数据插入 SQL CE 数据库,Linq-to-sql,随着时间的推移变得越来越慢,我能做些什么呢?

javascript - 在这里将 c# 转换为 javascript。 - javascript 将字符串更改为数组

c# - Response.Redirect 停止使用 IIS 7 重写规则