Internal dictionary queries in OLEDB/ODBC 9.2-10g -- sample trace
- From: "Alvaro Jose Fernandez" <alvaro.fernandez@xxxxxxxxx>
- To: <oracle-l@xxxxxxxxxxxxx>
- Date: Fri, 17 Aug 2007 15:02:25 +0200
Hi,
I'm including a sample trace from the app (using default tkprof
aggregate across all executions). This query return no rows, since
the tables in the app (and so the passed TABLE_NAMEs in this query) are
synonyms whose names are different from the real schema tables.
Im' using cursor_sharing=similar, so the literal replacement binds.
Worst of all is these queries are generated on each row from the
RecordSet returned by the RDBMS. You can see the SQL*Net waits due to
this "crappy" client/server traffic.
Alvaro
--
select *
from
(select null TABLE_CATALOG, idx.table_owner TABLE_SCHEMA,
idx.table_name
TABLE_NAME, null INDEX_CATALOG, idx.owner INDEX_SCHEMA, idx.index_name
INDEX_NAME, null PRIMARY_KEY, decode(idx.uniqueness, :"SYS_B_00",
-:"SYS_B_01", :"SYS_B_02") UNIQUE_,null CLUSTERED,null TYPE, null
FILL_FACTOR, idx.initial_extent INITIAL_SIZE, null NULLS, null
SORT_BOOKMARKS, -:"SYS_B_03" AUTO_UPDATE, :"SYS_B_04" NULL_COLLATION,
col.column_position ORDINAL_POSITION, col.column_name COLUMN_NAME,
null
COLUMN_GUID, null COLUMN_PROPID, :"SYS_B_05" COLLATION, null
CARDINALITY,
null PAGES, null FILTER_CONDITION, null INTEGRATED from all_indexes
idx,
all_ind_columns col where idx.owner = col.index_owner and
idx.index_name =
col.index_name and idx.table_owner = col.table_owner and
idx.table_name =
col.table_name ) DBSCHEMA_INDEXES WHERE TABLE_SCHEMA = :"SYS_B_06"
AND
TABLE_NAME = :"SYS_B_07" order by :"SYS_B_08", :"SYS_B_09",
:"SYS_B_10",
:"SYS_B_11", :"SYS_B_12"
call count cpu elapsed disk query current
rows
------- ------ -------- ---------- ---------- ---------- ----------
----------
Parse 9722 1.89 2.32 0 0 0
0
Execute 9722 6.63 11.93 0 0 0
0
Fetch 9722 1.26 1.45 0 68054 0
0
------- ------ -------- ---------- ---------- ---------- ----------
----------
total 29166 9.78 15.71 0 68054 0
0
Misses in library cache during parse: 0
Optimizer goal: CHOOSE
Parsing user id: 26
.
.
Elapsed times include waiting on following events:
Event waited on Times Max. Wait Total
Waited
---------------------------------------- Waited ----------
------------
SQL*Net message to client 9722 0.01
0.04
SQL*Net message from client 9722 0.04
43.14 <== client/server "ping-pong"
latch free 1 0.00
0.00
Other related posts:
- » Internal dictionary queries in OLEDB/ODBC 9.2-10g -- sample trace