【问题标题】:SQL Server 2005 Combine and paginate two tablesSQL Server 2005 合并和分页两个表
【发布时间】:2012-04-22 06:18:32
【问题描述】:

我有两个表格,其中包含的数据本质上是来自不同来源的标题列表。这是在带有 SQL Server 2005 的 MVC 3(可用 EF)中完成的。

表1:日期-标题-id

表2:日期-标题-id

我想做的是将这些组合成一个主列表,可以是

  • 分页浏览
  • 支持基于日期的查询范围,然后可以浏览。

目前分页很困难,因为任何 X 集合中每个来源的文章数量随该来源的更新频率而变化。

如果这可能与 View 或使用 Union All 相关?大约有 300,000 行涵盖了大约 15 年的头条新闻。我错过了更好的方法吗?

【问题讨论】:

    标签: sql sql-server entity-framework-4


    【解决方案1】:

    我还没有尝试过,但是将 union 与 skip 和 take 结合起来应该可以。

    MSDN 有一个联合的例子,http://msdn.microsoft.com/en-us/library/bb896299.aspx,我想你会想要将你的日期范围过滤器应用到每个部分。

    这里有一个 SO 答案SQL Table Paging PERFORMANCE ...is EF4 + Linq SKIP +TAKE equal in performance than using TSQL params to request "paging" on a SQL Table?,它谈到了跳过和拍摄以及性能。

    如果您愿意,可以通过将表 1 和表 2 中的数据与源字段合并为一个来使事情变得更容易。

    【讨论】:

    • 太棒了,谢谢。在 EF 和直接 SQL 中都可以使用。正是我需要的。
    猜你喜欢
    • 2010-09-05
    • 2011-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多