gpt4 book ai didi

c# - 如何有效地从存储过程中检索数千行

转载 作者:太空狗 更新时间:2023-10-30 00:09:26 29 4
gpt4 key购买 nike

我正在使用 VSTS 2008 + C# + .Net 3.0 + ADO.Net + SQL Server 2008。我从 ADO.Net 从 SQL Server 端调用一个存储过程。存储过程是这样的,

SELECT Table1.col2
FROM Table1
LEFT JOIN Table2 USING (col1)
WHERE Table2.col1 IS NULL

我的问题是,如何有效地检索返回的行(我的示例中的 Table1.col2)?我的结果最多可能返回 5,000 行,Table1.col2 的数据类型是 nvarchar (4000)。

提前致谢,乔治

最佳答案

不能 - 您永远无法有效地检索那么多数据....

高效的全部意义在于限制您检索的数据 - 仅限制您真正需要的那些列(没有 SELECT *,而是 SELECT(字段列表),您已经这样做了),并且只有您需要的行数可以轻松处理。

例如,您不想填充下拉列表或列表框,用户需要在其中选择具有数千个条目的单个值 - 这是不可行的。

所以我想我的意思是:如果您真的需要返回 5000 行或更多行,那就需要时间了。你对此无能为力(如果你传输 5000 行,每行 5000 字节,那就是 25'000'000 字节或 25 兆字节 - 没有什么魔法可以让它变快)。

只有找到一种方法将返回的行数限制为 10、20、50 左右,它才会非常快。思考:服务器端分页!! :-)

马克

关于c# - 如何有效地从存储过程中检索数千行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1149865/

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