作为背景,我使用了许多基于PostGIS空间查询的物化视图,其中一些视图需要几天才能刷新(每当底层空间数据(即道路网络)更新时,这些视图很少刷新)。然后,我有许多其他的观点,依赖于这些物化的观点。
虽然在一般情况下使用物化视图很好,但当我需要更改其中一个视图的定义(例如,更改联接条件或添加新列)时,这将成为一场噩梦。由于没有类似于物化视图的CREATE OR REPLACE ...,我最终不得不删除并重新创建所有依赖对象。
最近,我开始在标准视图中“包装”我所有的物化视图,作为解决这个问题的一种方法。因此,基本上每个物化视图都有一个相应的标准视图,它直接从物化视图中选择所有列。然后,没有依赖者直接引用物化视图,他们只引用包装视图。这允许我暂时替换包装器的定义,以指向不同的数据源(而不是物化视图),这样我就可以修改物化视图的定义,最后将包装器重新定向回物化视图。呼!它可以工作,并且避免了级联拖放/重新创建对象进程的需要,但仍然显得非常笨重。
是否有一个最佳实践过程来使用物化的视图来克服这些限制?这里通常采用什么方法来避免级联删除/重新创建步骤?
发布于 2017-02-11 19:00:10
https://dba.stackexchange.com/questions/135220
复制相似问题