我在Oracle18c GIS数据库中有40个视图,这些视图在订单管理系统 (WMS)中的映射中使用。
视图连接到单独的Oracle数据库中的dblink表,因此,在WMS映射中使用不够快(3秒地图刷新延迟)。此外,每次用户刷新地图时计算视图似乎是个坏主意--因为地图不需要实时更新。
作为另一种选择,我想每周拍一次视图的快照。快照将是静态表,在WMS映射中表现良好。
捕获:
不幸的是,由于办公室政治问题,使用物化视图或甲骨文金门等技术来解决这个问题并不是一种选择。
我对Oracle视图的计划快照(不使用物化视图或金门)有什么选择?
例如,我可以制作一个.SQL脚本来截断静态表并将视图中的行插入到表中(尽管作为新手,我不知道该选项的效率或风险,或者是否有更好的替代方案)。
发布于 2019-12-29 02:19:21
可以在此视图中的sdo_geometry
列上创建基于函数的索引。这可能有助于提高查询速度。
如果您不能创建MV (您试过了吗?),创建一个表(create table as select...
),然后编写一个从视图到表执行MERGE
的过程,然后安排它使用dbms_job
或dbms_scheduler
每X分钟执行一次。
https://dba.stackexchange.com/questions/256423
复制相似问题