【问题标题】:T-SQL Inner Join Optimization between View and Table Value Function视图和表值函数之间的 T-SQL 内连接优化
【发布时间】:2012-06-06 12:12:12
【问题描述】:

我有一个视图和表值函数,并在它们之间进行内部连接。每一方都有几百万条记录需要连接。

我已经阅读了很多如何优化连接(最常见的答案是使用索引,但我的视图不能被索引视图)但仍然没有找到如何在视图和函数之间进行连接的方法正确的方法和优化。

编辑:

为了证明问题确实是内部连接 ​​- 我为每个查询都做了“SELECT COUNT(*)”:

  1. 查看 - 0 秒
  2. 函数 - 18 秒
  3. 函数内部连接视图 - 42 秒

【问题讨论】:

    标签: function tsql join view


    【解决方案1】:

    让我们从另一个角度看一下——你真的需要对如此大量的数据进行这种联接吗? 我有类似的问题,这是我的情况和解决方案:

    1. 在我的案例中,数百万条记录都不需要 - 只是特定的过滤数据
    2. 我已经为从那个巨大的表到其他表的插入\更新\删除创建了触发器 - 它们旨在跟踪我需要的数据
    3. 现在我可以对特定(比方说 - 过滤)数据进行快速联接

    这种方法有他自己的优点和缺点;主要不便 - 您应该重建\检查您的数据库结构:这种方式可能并不适合所有情况

    无论如何 - 这是我对特定问题的解决方案,它仍然可以正常工作,我的性能至少提高了 10 倍

    【讨论】:

    • @一般来说,这是真的,但在这种特殊情况下,我使用的是已经创建的具有逻辑、功能等的数据库,所以我没有重新设计所有系统的权力或权限。 .
    猜你喜欢
    • 2014-11-25
    • 2017-03-31
    • 1970-01-01
    • 1970-01-01
    • 2012-03-16
    • 1970-01-01
    • 2011-06-27
    • 1970-01-01
    • 2012-04-25
    相关资源
    最近更新 更多