系统中发现一个视图查询很慢,看了下scipt发现竟然是三个表做的笛卡儿积,找到开发,结果说就是要这样做,查了下数据,发现是用来拼装表名和查询语句的,所以要把所有可能都涉及到才用到了笛卡儿积,但每次调用这张试图太耗时了,决定修改成临时表采用trigger的形式插入,但涉及到三张表,实在懒得考虑那么多逻辑,改用物化视图。
在物化视图中,有on commit,作用就是只要基表commit立刻刷新,也算是可以实现数据一致。
如下:
在物化视图中,有on commit,作用就是只要基表commit立刻刷新,也算是可以实现数据一致。
如下:
CREATE Materialized VIEW a.test
refresh force on commit AS
SELECT * from a,b,c;
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/25680865/viewspace-714063/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/25680865/viewspace-714063/