我在 Compact Framework 应用程序(SQLServer Compact Edition 数据库)中的数据库性能方面遇到了一些问题。
我所做的是:
使用 SqlCeDataAdapter 查询数据库中的一些数据,作为返回,我得到 6 行数据
sqlCeDataAdapter = new SqlCeDataAdapter(query, Sql_Connection);
然后,我使用 SqlCeDataAdapter 填充方法用数据填充数据集。
sqlCeDataAdapter.Fill(resultSet);
循环数据集..
当我有 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/