我尝试解析AWR报告以获取长期运行的SQL信息,该报告有40多个表,其中所有表都具有相同的类,但具有不同的摘要。对于解析,Python上的BS4能够定位多个表,但是一个包含所有SQL信息的表有一个带有换行符和空格的摘要,如下所示:
AWR文件中的HTML标记:
<table border="0" class="tdiff" summary="This table displays the text of the SQL statements which have been
referred to in the report"&g
如何优化此查询的性能?
SELECT Count(DISTINCT DT.id)
FROM pcwdeptrans DT
INNER JOIN pcwitemtotal IT
ON DT.id = IT.deposittransid
LEFT OUTER JOIN pcwdepreceipt DR
ON DR.deposittransid = DT.id
WHERE (( ( DT.statecode IN ( :1, :2, :3, :4,
我得到了工作负载库,比较期间报告,上面写着
Load Profile
1st per sec
DB time: 1.3
我很困惑,Db时间应该是时间单位,不是吗?
下面是我研究过的AWR的背景和历史,以及我是如何最终找到答案的。
我有ARW报告说
Elapsed Time (min) DB time (min)
60 80
例如,我在这里读到的,它解释了DB时间如何超过经过的时间。而Db时间是时间,它是以时间单位(min =分钟?)来衡量的,到目前为止还不错。
然后Load Profile说:
1st per sec
DB time:
我遇到了一个应用程序的问题,它需要非常低的延迟(每个txn少于100 ms )。每隔一段时间,我们就会看到交易时间为20-30秒的峰值。我们看了ASH的报告,我们看到了“日志文件同步”等待,但我们不清楚问题的确切来源。我想将这个问题时期与正常运行期进行比较。然而,我知道的唯一方法是使用AWR比较周期报告。问题是周期太长(30分钟)。我需要一些方法来比较问题发生后很短的时间,因为我现在有办法知道什么时候会发生。如有任何建议,将不胜感激。
我需要报告一个模块在一天内执行的所有查询的总时间。
-- sum over all queries executed the last 24 hours
select
u.username,
sum(round(v.ELAPSED_TIME / 3600000000 * 60,2)) ELAPSED_TIME_MINUTES,
sum(round(v.ELAPSED_TIME / 3600000000,2)) ELAPSED_TIME_HOURS,
v.module
from gv$sql v
我正在开发一个wordpress插件。我在那里创建了一个叫做部门的定制职位。此外,我还将所有部门的帖子存储在名为awr_departments表的自定义表中。现在,我希望从自定义表awr_departments中检索仪表板中的所有部门的帖子,而不是从内置的表wp_posts中检索。我知道这方面的数据库查询,但不知道为在仪表板中列出自定义帖子而触发的钩子或过滤器。请指导我完成这项任务。
注意:我不能更改核心wordpress文件,因为我希望从我的插入本身的所有功能。
这是我在自定义表中插入自定义post的代码。
function save_awr_details(){
global $post;
我必须对我的数据库中的一个字段应用单词更正。这些更正是缺少的法语口音。我有两个表,一个包含公司数据和一个公司名称字段,该字段可能缺少某些特定单词的重音,第二个表包含需要重音的已知单词集合。
ID CompanyName ID Word
------------------------------ ---------------------------
1 Jim Desormeaux Electrique 1 Désormeaux
2 Entreprises D Desormier