Geo*_*ge2 4 c# sql-server ado.net stored-procedures sql-server-2008
我正在使用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
Run Code Online (Sandbox Code Playgroud)
我的问题是,如何有效地检索返回的行(我的样本中的Table1.col2)?我的结果最多可返回5,000行,Table1.col2的数据类型为nvarchar(4000).
乔治,提前谢谢
你不能 - 你永远不能有效地检索那么多数据....
高效的关键是限制你检索的数据 - 只有你真正需要的那些列(没有SELECT*,但是你已经做过的SELECT(字段列表)),以及你可以轻松处理的行数.
例如,您不希望填充下拉列表或列表框,其中用户需要选择具有数千个条目的单个值 - 这是不可行的.
所以我想我的观点确实如此:如果真的,真的需要返回5000行或更多,它只需要花时间.你可以做的事情并不多(如果你传输5000行,每行5000字节,那就是25'000'000字节或25兆字节 - 没有什么魔法可以让它变得更快).
如果你找到一种方法来限制返回到10,20,50左右的行数,它只会非常快.想一想:服务器端分页!! :-)
渣
归档时间: |
|
查看次数: |
955 次 |
最近记录: |