首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Oracle AWR -高SQL解析调用,但0次执行

Oracle AWR -高SQL解析调用,但0次执行
EN

Stack Overflow用户
提问于 2015-05-22 18:15:57
回答 4查看 2.2K关注 0票数 4

我正在尝试理解是什么导致了Oracle (10)数据库上的打开查询。

在AWR上,它显示了非常高的解析调用次数(例如,1小时内的15,000+ ),但0次执行。

怎么可能不执行查询,但却解析了15000次呢?

解析调用: 15,000+

执行次数:0

SQL文本: select * from A视图

EN

回答 4

Stack Overflow用户

发布于 2015-05-22 18:18:41

SQL中的*可以解释重复的解析。您应该将其替换为字段名称列表。

票数 1
EN

Stack Overflow用户

发布于 2017-02-22 14:46:54

Oracle 11、java、jdbc 11.2.0.3

当您像这样使用getting sequence from insert时会出现问题

代码语言:javascript
复制
PreparedStatement ps = connection.prepareStatement(QUERY, new String[] { "student_id" });

我们发现jdbc驱动程序在每次插入之前都会准备"SELECT * FROM“语句。只有解析操作,没有执行。

T4CConnection.doDescribeTable

代码语言:javascript
复制
T4CStatement localT4CStatement = new T4CStatement(this, -1, -1);
localT4CStatement.open();
String str1 = paramAutoKeyInfo.getTableName();
String str2 = new StringBuilder().append("SELECT * FROM ").append(str1).toString();
localT4CStatement.sqlObject.initialize(str2);

Oracle解析器不会缓存带有"*“的解析查询,因此每个insert都有额外的解析操作。

票数 0
EN

Stack Overflow用户

发布于 2017-02-22 18:57:57

零执行指示查询未在AWR快照内完成

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30394077

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档