2011-02-28 61 views
0

我们通过Pro * C与DB进行交互。我们希望通过Pro * C查找花费时间最长的查询。如何通过Pro * C杀死长时间运行的查询?

有没有办法在Pro * C中查找长时间运行的查询?

+0

什么是“Pro * C”?你能给这个程序的网站链接吗?你的db是什么 – osgx 2011-02-28 19:58:00

+1

Pro * C是嵌入式oracle的预处理器。它允许直接在C代码中编写SQL查询。预处理器然后将其替换为进行Oracle API调用所需的代码。 – 2011-03-02 12:28:42

+0

这不是关于'C',而'pro'标签真的没有提到任何事情。标签已更改。 – pmg 2011-03-02 12:35:16

回答

1

通过测试C以外的查询,例如蟾蜍? 或者通过计算它们用定时器的正常C函数所花费的时间?

你的问题太模糊,无法给出具体的答案。

1

Pro * C程序应该可以通过程序列在V $ SESSION中很容易识别。我会走得更远,并通过DBMS_APPLICATION_INFO明确设置MODULE,这将允许您追踪V $ SQL中的单个SQL。

一旦仪器您的代码,它变得更容易使用的诊断设施,如跟踪,或者您可能与诊断支付任何额外或调整礼包

+0

well gary没有任何可以使用的Pro * C或Oracle提供的特定功能或机制 我所看到的是,每个人都在谈论'Ctrl + C'组合,这一切都是严格意义上的错误。没有任何超时函数可用于在10秒后超时查询并继续进行查询。 此外,我没有理解你在回答中说的话。 如果可能,请告诉我一些可靠的解决方案。 – 2011-08-23 12:13:57

1

Oracle企业管理器可以让你看看运行查询,让我们看看解释计划。

相关问题