【问题标题】:Many roundtrips to the database, or all data / filter?多次往返数据库,或所有数据/过滤器?
【发布时间】:2010-06-30 08:55:14
【问题描述】:

哪种方法最快/最有效?

A) 读取所有数据(822 行),包括我不需要的数据,然后过滤/输出我需要的数据

B) 3 次使用通过最后一个查询填充的参数往返数据库以仅选择我需要的数据

谢谢。

【问题讨论】:

    标签: asp.net sql vb.net performance


    【解决方案1】:

    视情况而定,但不应该需要三个往返。

    在您的 SQL 语句中使用格式良好的 WHERE 子句(如果它是临时查询)在数据库级别过滤所需结果几乎总是更快。更好的是使用可以从前端传递的参数构建一个存储过程。这更快,因为 SQL 不需要每次都重新编译,更安全,因为它可以防止 ad-hoc SQL 注入等。

    但是,为了获得完整的答案,我们需要更多关于您想要实现的目标的信息,即您是否打算采用某种分页机制?

    【讨论】:

      【解决方案2】:

      C) 执行paging at the database level 和单次往返以仅获取您需要显示的记录。

      【讨论】:

      • 我认为他的问题不同。他要求小麦往返数据库或将其存储在服务器内存中
      猜你喜欢
      • 2013-02-12
      • 2012-05-16
      • 1970-01-01
      • 2010-10-22
      • 1970-01-01
      • 2015-04-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多