gpt4 book ai didi

java - 基于数据库负载的条件执行(Oracle数据库)

转载 作者:行者123 更新时间:2023-12-01 22:25:25 25 4
gpt4 key购买 nike

我们遇到的情况是,我们必须根据人工输入对数据库执行冗长的查询。随着输入的变化,查询必须一遍又一遍地进行,并且输入可能每秒改变一次。

问题是,我们知道这将导致服务器 Activity 激增几秒钟,并且由于立即或每次输入更改时得到答案并不重要,这意味着我们可以承担执行或不执行查询的费用.

我们想要使用的标准是数据库服务器的当前状态,并且仅允许在低负载或中负载状态下进行查询,当数据库服务器处于压力状态时跳过查询。

为此,我们使用 Oracle 数据库,到目前为止,我们还没有找到任何方法(从 Java)来执行此操作,除非实际将已知查询加载到服务器中并对其进行基准测试,但这本质上是向服务器添加了一些负载。所以我的问题是:有没有其他方法,特别是在 Oracle 数据库中,我们可以从应用程序的 Java 端发现数据库的负载?

最佳答案

根据您如何定义“低或中负载状态”,我猜想会击中 v$osstat会给你你想要的信息当然,不断点击v$osstat也会增加服务器的负载。您可能想要编写一个作业,将 v$osstat 数据复制到您定期控制的表中(从而可以适本地建立索引),以便您的应用程序可以访问该表,而不是不断访问动态性能 View 。根据目标(即,您是否试图确保其他用户拥有足够的资源,或者您是否试图确保您的应用程序保持响应),您可能希望使用资源管理器来控制用户之间的资源利用率,您可能希望运行从应用程序异步查询,和/或您可能希望在中间层使用某种缓存以避免每次都访问数据库。

关于java - 基于数据库负载的条件执行(Oracle数据库),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28894710/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com