我在11g R2 DB中有一个pl/sql包,它有相当多的相关程序和功能.我执行一个顶级函数,它做了很多东西.它目前处理<每秒10行.我想提高性能,但我不确定要关注哪些例程.
对于Oracle的"PL/SQL层次分析器(DBMS_HPROF)"来说这似乎是一个很好的工作.作为一个懒惰的人,我希望SQLDeveloper v3.2.20.09或企业管理器能够做到我想要的点和点击界面.我找不到这个.
是否有一种"简单"的方法来分析过程/包中的实际PL/SQL代码?
我使用Enterprise Manager的"热门活动"部分优化了包中的查询,查看了花费很长时间的所有查询.现在我只有一个"执行PL/SQL"出现,我需要将其分解为至少被调用的过程和函数,以及它们占用的时间百分比.
我正在使用 AIR v32.0。我有一个扩展 netConnection 的类。我需要覆盖接收任意一组参数的现有方法。我需要做一些零碎的事情,然后让原始代码处理剩下的事情。我了解如何接收参数“...参数”,但我在完成后找不到调用原始代码的正确方法。
到目前为止,我所拥有的不起作用的是;
public override function call(strCommand:String, rspResponder:Responder,...parameters):void
{
trace("parameters.length=" + parameters.length)
if (parameters.length == 0)
{
super.call(strCommand, rspResponder);
}
else
{
super.call(strCommand, rspResponder, parameters);
}
}
Run Code Online (Sandbox Code Playgroud)
线;
super.call(strCommand, rspResponder);
按预期工作。
线;
super.call(strCommand, rspResponder, 参数);
似乎没有被“调用”方法正确处理。
如何将“...参数”正确传递给 netConnection 类的“super.call”方法?
编辑:
本身没有错误。发生的情况是它以网络服务不期望的格式向 FluorineFX 网络服务发送消息,然后 Ralphs 在其鞋子上。错误是“处理级别错误描述找不到名称为 LoginCheck 的合适方法”如果我删除覆盖的方法一切正常。
当我在 Fiddler 中查看输出结果时,在使用 & 而不使用覆盖方法运行它时,某些不可打印的字符存在差异。但我无法确定实际差异是什么。
附加编辑:
我有一个非常糟糕的部分工作(至少它有效),也许这会激发某人的想象力。我会不好意思把它投入生产。
public override function call(strCommand:String, rspResponder:Responder,...parameters):void
{
trace("parameters.length=" + parameters.length)
switch (parameters.length)
{
case 0:
super.call(strCommand, rspResponder);
break;
case 1:
super.call(strCommand, rspResponder, parameters[0]);
break; …Run Code Online (Sandbox Code Playgroud)