查看vs表值函数与子查询

时间:2014-08-22 10:14:05

标签: sql-server join view subquery table-valued-parameters

我有一个场景,我需要

  1. 加入 3个表格以获取一个字段
  2. 的值
  3. 第二个字段加入 4个表格
  4. 第三个字段加入 3个表
  5. 以上所有联接都是内部 如果数据存在,我的字段的值将是“Y”,否则为“N”

    to achieve this which method gives best performance
    
      
        
    1. 创建一个tablevalued函数,我可以加入并检查是否为null然后“N”否则为“Y”
    2.   
    3. 创建一个视图而不是表值函数并与
    4. 连接   
    5. 编写子查询并使用子查询加入。
    6.   

    这将更快......这是对大数据执行的。因此,表现是主要因素。

    -Thanks

1 个答案:

答案 0 :(得分:1)

功能是邪恶的。

另一方面,视图和子查询之间的差异几乎不会引起注意 - 当然,只要查询完全相同。但是,观点可能不那么灵活。