gpt4 book ai didi

c# - 如何提高 DataSet 到 List 的性能?

转载 作者:太空宇宙 更新时间:2023-11-03 16:03:41 24 4
gpt4 key购买 nike

我正在使用企业库从 Oracle11g 获取记录,如下所示。

OracleDataProviderCommand dbcommand=new OracleDataProviderCommand(); 
//OracleDataProviderCommand has been derived from System.Data.Common.DbCommand.

...Adding Parameters...

//Executing the dbCommand using Enterprise Libary's ExecuteDataSet(DbCommand command) method as below,
DataSet Results = database.ExecuteDataSet(dbCommand);

最后,我遍历数据表并创建从服务返回的列表。 我得到的结构存在巨大的性能问题,因为数据集每个周期仅从数据库返回 64KB(默认获取大小)的数据。

我的问题是如何提高数据集的性能以进行列表转换。如果这是因为 FetchSize 那么如何设置 FetchSize。?

提前致谢

最佳答案

我不推荐使用那种方法。取而代之的是使用您自己的 DataSet 版本(或者您可以使用框架中现有的版本)来获取结果,并使用 DataReader 的实现(无论是 Oracle 的还是 Microsoft 的)自行填充它们。

在你的情况下,它甚至更好,因为当你不断地从 DataReader 接收数据时,你可以将它添加到列表中;而不是必须等待获取整个数据集,然后再次遍历它来填充您的列表。

Is datareader quicker than dataset when populating a datatable?

What's better: DataSet or DataReader?

http://www.techrepublic.com/article/which-is-best-for-you-datareader-or-dataset

关于c# - 如何提高 DataSet 到 List<T> 的性能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20297389/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com