是否可以在DBMaker中建立物化视图?(DBMR3096)
物化视图是原始基表的实体复本。 与视图不同,物化视图是预先计算的,并存储在磁盘上,并且每次使用时都不会更新。 DBMaker不支持物化视图,因此我们为每种解决方法给出一些假设。
1.执行物化视图:“完全刷新(refresh complete)” +“在提交时(on commit)”
(a)尝试建立一个临时/永久表(mv1),如果表存在,则执行(b)。
(b)如视图定义,使用“ select into”将数据新增于mv1。
(c)创建一个删除所有mv1记录的sp(mvsp1),然后执行(b)。
(d)在表A或表B上的 新增/更新/删除 触发之后,呼叫mvsp1。
2. 执行物化视图:“完全刷新(refresh complete)” +“从下一次开始(start with・next)”
(a)尝试建立一个临时/永久表(mv1)。
(b)如同视图定义,使用“ select into”将数据新增于mv1。
(c)创建一个删除所有mv1记录的sp(mvsp1),然后执行(b)。
(d)在排程服务上建立任务以执行呼叫mvsp1。
3. 执行物化视图:“完全刷新(refresh complete)” +“根据需要(on demand)”
(a)尝试创建一个临时/永久表(mv1)。
(b)如同视图定义,使用“ select into”将数据新增于mv1。
(c)创建一个删除所有mv1记录的sp(mvsp1),然后执行(b)。
(d)根据需要呼叫mvsp1。
4. 执行物化视图:“不进行刷新(never refresh)” +“根据需要(on demand)” 与3相同,也许使用者想要这个。
5. 执行物化视图:“快速刷新(refresh fast)/ 强制刷新(refresh force)” +“在提交时(on commit)”(无法更新PK)
(a)尝试创建一个临时/永久表(mv1)。
(b)如同视图定义,使用“ select into” 将数据新增于mv1。
(c)创建一个sp(mvsp1)以检查 新增/更新/删除 操作以及 新增/更新/删除mv1。 (不容易)
(d)在表A或表B上 新增/更新/删除的触发之后,呼叫mvsp1。
6. 执行物化视图:“快速刷新(refresh fast)/强制刷新(refresh force)” +“从下一次开始(start with・next)”(PK无法更新)
(a)尝试创建一个临时/永久表(mv1)。
(b)如同视图定义,使用“ select into” 将数据新增于mv1。
(c)创建一个sp(mvsp1)以检查 新增/更新/删除 操作以及新增/更新/删除mv1。 (不容易)
(d)在排程服务上建立任务以执行呼叫mvsp1。
7. 执行物化视图:“快速刷新(refresh fast)/ 强制刷新(refresh force)” +“根据需要”(on demand)”(无法更新PK)
(a)尝试创建一个临时/永久表(mv1)。
(b)如同视图定义,使用“ select into” 将数据新增于mv1。
(c)创建一个sp(mvsp1)以检查 新增/更新/删除操作以及 新增/更新/删除mv1。 (不容易)
(d)根据需要呼叫mvsp1。