Teradata中的视图和易失性表之间有什么区别?据我所知,在会话结束时删除了一个volatile表。此外,只有我才能看到易失性表而不是视图。还有其他重大差异吗?
答案 0 :(得分:5)
volatile表是一个临时表,只保存到会话结束。这是默认情况下在“个人架构”中创建的,并占用您的假脱机空间以进行维护。
视图是一个永久跨会话的对象,从您所在环境中的表中生成,并且不会持续消耗假脱机空间。
一般来说,我使用volatile表从脚本上传,这样我就可以在会话结束时轻松处理信息和删除表。我使用视图来更改用户查看驻留在其他表中的信息的方式,或者在不更改根表的情况下限制对特定用户的信息访问。
答案 1 :(得分:2)
volatile表以物理方式存储数据。您可以在会话期间多次访问该数据。使用View,每次访问时都会收集数据。
为了帮助加快对视图的查询,您可以在Teradata上使用Join Indexes。它们实际存储某个选择的结果,并在基础数据自动更改(插入,更新,删除)时进行维护 - 就像Teradata上的大部分内容一样。
答案 2 :(得分:0)
此外,volatile表保存会话中的数据。如果源表中的数据发生更改,则不会在volatile表中自动更改它。 View会自动包含更改,因为它只是在源表上重新运行SQL。