在SQL Server中使用临时表的视图有什么好处

RT8*_*T88 3 sql t-sql sql-server

使用临时表的视图有什么好处.我知道如果数据被其他存储过程重用,您应该使用视图,但是:

  1. 性能方面,使用视图比使用临时表更好吗?

  2. 如果视图基于不断更新的表是一个视图仍然比临时表更好?

  3. 如果我必须对视图使用where子句,我最好使用临时表吗?

  4. 最后,使用视图或临时表的优点/缺点是什么?

Bog*_*SFT 10

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

  • 视图是一个美化的SELECT,它主要用于方便
  • 你可以对一个视图进行materizalize,即将它存储为一个表甚至索引它.看到这个问题
  • 如果您不会多次重复使用该结构,请使用临时表,例如在不时运行的脚本中
  • 视图将占用空间(特别是如果实现)并且难以维护许多视图

还要注意如何销毁临时表:

  • 如果你创建一个临时表#tbl,它将在超出范围时被销毁(例如在脚本的末尾).
  • 但是你可以创建一个像## tbl这样的临时表(有两个#),它会在连接结束时被销毁.