查看vs volatile表?

时间:2013-10-29 13:23:58

标签: teradata

Teradata中的视图和易失性表之间有什么区别?据我所知,在会话结束时删除了一个volatile表。此外,只有我才能看到易失性表而不是视图。还有其他重大差异吗?

3 个答案:

答案 0 :(得分:5)

volatile表是一个临时表,只保存到会话结束。这是默认情况下在“个人架构”中创建的,并占用您的假脱机空间以进行维护。

视图是一个永久跨会话的对象,从您所在环境中的表中生成,并且不会持续消耗假脱机空间。

一般来说,我使用volatile表从脚本上传,这样我就可以在会话结束时轻松处理信息和删除表。我使用视图来更改用户查看驻留在其他表中的信息的方式,或者在不更改根表的情况下限制对特定用户的信息访问。

答案 1 :(得分:2)

volatile表以物理方式存储数据。您可以在会话期间多次访问该数据。使用View,每次访问时都会收集数据。

为了帮助加快对视图的查询,您可以在Teradata上使用Join Indexes。它们实际存储某个选择的结果,并在基础数据自动更改(插入,更新,删除)时进行维护 - 就像Teradata上的大部分内容一样。

答案 2 :(得分:0)

此外,volatile表保存会话中的数据。如果源表中的数据发生更改,则不会在volatile表中自动更改它。 View会自动包含更改,因为它只是在源表上重新运行SQL。