【发布时间】:2010-06-30 08:55:14
【问题描述】:
哪种方法最快/最有效?
A) 读取所有数据(822 行),包括我不需要的数据,然后过滤/输出我需要的数据
B) 3 次使用通过最后一个查询填充的参数往返数据库以仅选择我需要的数据
谢谢。
【问题讨论】:
标签: asp.net sql vb.net performance
哪种方法最快/最有效?
A) 读取所有数据(822 行),包括我不需要的数据,然后过滤/输出我需要的数据
B) 3 次使用通过最后一个查询填充的参数往返数据库以仅选择我需要的数据
谢谢。
【问题讨论】:
标签: asp.net sql vb.net performance
视情况而定,但不应该需要三个往返。
在您的 SQL 语句中使用格式良好的 WHERE 子句(如果它是临时查询)在数据库级别过滤所需结果几乎总是更快。更好的是使用可以从前端传递的参数构建一个存储过程。这更快,因为 SQL 不需要每次都重新编译,更安全,因为它可以防止 ad-hoc SQL 注入等。
但是,为了获得完整的答案,我们需要更多关于您想要实现的目标的信息,即您是否打算采用某种分页机制?
【讨论】:
C) 执行paging at the database level 和单次往返以仅获取您需要显示的记录。
【讨论】: