【发布时间】:2012-06-06 12:12:12
【问题描述】:
我有一个视图和表值函数,并在它们之间进行内部连接。每一方都有几百万条记录需要连接。
我已经阅读了很多如何优化连接(最常见的答案是使用索引,但我的视图不能被索引视图)但仍然没有找到如何在视图和函数之间进行连接的方法正确的方法和优化。
编辑:
为了证明问题确实是内部连接 - 我为每个查询都做了“SELECT COUNT(*)”:
- 查看 - 0 秒
- 函数 - 18 秒
- 函数内部连接视图 - 42 秒
【问题讨论】:
我有一个视图和表值函数,并在它们之间进行内部连接。每一方都有几百万条记录需要连接。
我已经阅读了很多如何优化连接(最常见的答案是使用索引,但我的视图不能被索引视图)但仍然没有找到如何在视图和函数之间进行连接的方法正确的方法和优化。
编辑:
为了证明问题确实是内部连接 - 我为每个查询都做了“SELECT COUNT(*)”:
【问题讨论】:
让我们从另一个角度看一下——你真的需要对如此大量的数据进行这种联接吗? 我有类似的问题,这是我的情况和解决方案:
这种方法有他自己的优点和缺点;主要不便 - 您应该重建\检查您的数据库结构:这种方式可能并不适合所有情况
无论如何 - 这是我对特定问题的解决方案,它仍然可以正常工作,我的性能至少提高了 10 倍
【讨论】: