【发布时间】:2009-12-27 13:40:02
【问题描述】:
这是我朋友在电话里问的一个问题。他编写的 C# 3.5 程序正在从有 350,000 条记录的 Patient Master 表中填充数据集。它使用适用于 Oracle 的 Microsoft ADO.NET 驱动程序。 ExecuteQuery 方法需要 30 多秒来填充数据集。但是,相同的查询(获取大约 20K 条记录)在 Toad 中花费的时间不到 3 秒。他没有在程序中使用任何事务。它在用于搜索的列 (Name) 上有一个索引。
这些是我建议的一些替代方案:-
1) 尝试使用数据读取器,然后填充数据表并将其传递给表单以将其绑定到组合框(这不是一个好主意,因为它可能需要相同的时间)
2) 试用 Oracles 的 ADO.NET 驱动程序
3) 使用 Ants 分析器查看您是否可以识别任何特定的 ADO.NET 行。
有没有人遇到过类似的问题,有什么方法可以解决这个问题。
谢谢, 查克。
【问题讨论】:
-
Toad 中的查询是获取所有行还是仅获取前 100 或 1000 行?
-
Toad 查询获取大约 2 万条记录。数据读取器也只需要几秒钟 - 数据集需要 30 秒。
标签: oracle c#-3.0 dataset performance