sql - 在 SQL Server 中对临时表使用 View 的优点是什么

标签 sql sql-server tsql

就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引起辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the help center为指导。




8 年前关闭。




使用 View 而不是临时表的优点是什么。我知道如果数据被其他存储过程重用,您应该使用 View ,但是:

  • 在性能方面,使用 View 比使用临时表更好吗?
  • 如果 View 所基于的表不断更新, View 仍然比临时表更好吗?
  • 如果我必须对 View 使用 where 子句,我最好使用临时表吗?
  • 最后,使用 View 或临时表的优点/缺点是什么?
  • 最佳答案

    为了辨别,问问自己是否需要重复使用这些信息:

  • View 是一种美化的 SELECT,主要用于方便
  • 您可以将 View 具体化,即将其存储为表,甚至对其进行索引。看到这个 question
  • 如果您不想多次重复使用该结构,请使用临时表,例如在不时运行的脚本中
  • View 会占用空间(特别是如果实现了)并且有很多 View 很难维护

  • 还要注意临时表是如何销毁的:
  • 如果您创建临时表 #tbl,它将在超出范围时被销毁(例如在脚本末尾)。
  • 但是,您可以创建一个像##tbl(带有两个#)这样的临时表,它会在连接结束时被销毁。
  • 关于sql - 在 SQL Server 中对临时表使用 View 的优点是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14442510/

    相关文章:

    sql - 组合 COUNT 个查询

    sql - 查询查找缺失的师生组合

    c# - 使用 Sql Transaction 和 Isolation Level 进行冗长的读取操作?

    sql - 插入记录后如何计算出数据库中有多少表受到影响?

    sql - 如果主键不是 NULL,那么引用它的外键是否也应该指定为 NOT NULL?

    sql - Spark : Group RDD by id

    sql - 从自定义电子邮件表发送电子邮件的代理作业

    sql - 根据 sql server 中单个/同一个表中的重复 ID 将几行转换为单行

    mysql - 如何在sql中合并计数值

    sql - TSQL,如何对行进行分组?