我正在尝试理解是什么导致了Oracle (10)数据库上的打开查询。
在AWR上,它显示了非常高的解析调用次数(例如,1小时内的15,000+ ),但0次执行。
怎么可能不执行查询,但却解析了15000次呢?
解析调用: 15,000+
执行次数:0
SQL文本: select * from A视图
发布于 2015-05-22 18:18:41
SQL中的*可以解释重复的解析。您应该将其替换为字段名称列表。
发布于 2017-02-22 14:46:54
Oracle 11、java、jdbc 11.2.0.3
当您像这样使用getting sequence from insert时会出现问题
PreparedStatement ps = connection.prepareStatement(QUERY, new String[] { "student_id" });我们发现jdbc驱动程序在每次插入之前都会准备"SELECT * FROM“语句。只有解析操作,没有执行。
T4CConnection.doDescribeTable
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都有额外的解析操作。
发布于 2017-02-22 18:57:57
零执行指示查询未在AWR快照内完成
https://stackoverflow.com/questions/30394077
复制相似问题