依赖RDBMS缓冲区缓存是否合理?

时间:2016-02-29 14:41:10

标签: sql database oracle

我正在编写一个查询RDBMS的RESTful API。第一次运行有问题的SQL查询时,它需要大约10秒钟。使用相同绑定变量的后续查询运行需要几毫秒。我相信这是由于结果存在于缓冲区缓存中。

由于空间方面的考虑,我不想将此查询的结果存储在应用程序层中,而是希望每次需要时都运行它。出于性能原因,我依赖于通过缓冲区缓存命中检索结果的事实。后续查询运行将间隔几秒或几分钟,结果似乎结果在缓冲区缓存中保留的时间超过此时间。

以这种方式利用缓冲区缓存是否是一个合理的设计决策?

1 个答案:

答案 0 :(得分:3)

评论太长了。

我建议在某种功能中将查询逻辑包装在应用程序层。然后,使用查询来实现该函数,该查询可以依赖于查询缓存。

将来,您可能希望更改实施以在本地缓存结果。封装功能可以轻松更改实现,而不会影响其他代码。