2012-03-02 119 views
1

我在M-4000机器上运行Oracle 11G R2(据说这是一台功能强大的机器)。最近,我注意到我的应用程序运行缓慢,并且花费大量时间来查询数据库。当我看到DB机器的统计信息时,我感到震惊,我发现CPU使用率达到100%。CPU使用率达到100%

Here是ash报告。

现在有人能告诉我应该怎么做才能避免这种情况。

回答

1

那些正在执行“表访问已满”的查询可能是您的问题...任何全表扫描都会终止查询,通常可以通过添加简单索引来解决。您可以剖析您的查询,并且工具会建议添加索引以改进某些查询的执行。我想我是用松鼠在oracle数据库上做的。

此外,你的ID似乎是字符串,你正在做一个'低(id)像:3'。这应该改为使用整数,或者至少摆脱低位并在'3'上进行匹配。