本文主要是介绍TimesTen缓存组与触发器,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
TimesTen只读缓存组是通过在基础表上添加触发器实现的,变化行的唯一标识(主键或唯一索引)会记录在Change Table中,然后TimesTen定期读取Change Table,再将变化同步到缓存表。
那么问题来了,这个会增加Oracle的开销吗?开销会很大吗?
首先,开销肯定是有的。这要分两种情况。
1)对于查询,由于负载转移到了TimesTen,因此总的来说,查询性能提升了,Oracle的负担小了。
2)对于DML,由于触发器的原因,会增加很小的开销。
看一个实际的例子,Oracle Data Caching: An eBay Perspective [CON4759],这个eBay案例用的也是只读缓存组,每天140B的调用,也就是1400亿的调用,用的也挺好。所以,可以认为这个开销可以忽略。
另一个问题是对运维有何影响?
如果基础表结构发生变化,如修改了列定义,增加了列。如果这些列没有被缓存,那么没有任何影响。
如果这些列包含在缓存组定义中,那么在修改表定义前,需要删除缓存组,修改表定义后再重建缓存组。
如此而已。
这篇关于TimesTen缓存组与触发器的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!