也许我对此使用了错误的搜索词,但我试图理解在Netezza中视图与表的查询性能之间是否存在差异。我有一个库存视图,其中也考虑到货币,这已经增长到近2B记录自成立几年前。视图是通过连接多个表创建的,查询性能随着时间的推移而下降。我想知道是否有助于创建一个新的物理表来完成视图当前正在进行的连接,然后将我的新视图创建为"SELECT * FROM THIS_NEW_TABLE“。那么,这个新视图理论上会比原来的视图执行得更好吗?我知道我可以测试这个来看看结果,但是我想弄明白为什么其中一个会比另一个更好。
发布于 2016-05-09 23:44:22
答案是“是”,至少在大多数情况下是这样。从基表和视图中进行选择具有以下优点:
当然,缺点是当新数据插入(或更新或删除)基表时,该表立即过期。如果你能接受这个问题--比如每天一次或者每周一次--那么你应该会看到性能的提高。
一些数据库提供了物化的视图来解决这个问题。唉,Netezza将物化视图限制在一个表上,因此这对您没有特别的帮助。
https://stackoverflow.com/questions/37125916
复制相似问题