a plan explain time column
HelloI use Oracle version 10.2.0.3.0. I have 2 tables with 10 million documents each. The DOF is as follows.
create the bigtable table (varchar2 (20) col1, col2 varchar2 (20))
create table bigtablechild (varchar2 (20) col1, col2 varchar (20))
bigtablechild.Col1 is a foreign key to bigtable.col1. Below is the request and explain the plan. During several executions, the query runs for about 20 seconds before returning the results. Could someone please explain what represents the time column? It does not at the same time it took return of results.
SQL> set autotrace on
SQL>
SQL> select b.col2
2 from bigtable a, bigtablechild b
3 where a.col1 = b.col1
4 and a.col1 = 'ABC6554';
COL2
--------------------
XYZ6554
XYZ6554
XYZ6554
XYZ6554
XYZ6554
Execution Plan
----------------------------------------------------------
Plan hash value: 4210396901
------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 5 | 150 | 21538 (4)| 00:04:19 |
|* 1 | HASH JOIN | | 5 | 150 | 21538 (4)| 00:04:19 |
|* 2 | TABLE ACCESS FULL| BIGTABLE | 1 | 10 | 13124 (4)| 00:02:38 |
|* 3 | TABLE ACCESS FULL| BIGTABLECHILD | 5 | 100 | 8413 (5)| 00:01:41 |
------------------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
1 - access("A"."COL1"="B"."COL1")
2 - filter("A"."COL1"='ABC6554')
3 - filter("B"."COL1"='ABC6554')
Statistics
----------------------------------------------------------
0 recursive calls
0 db block gets
93672 consistent gets
91845 physical reads
0 redo size
463 bytes sent via SQL*Net to client
396 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
5 rows processed
Hello
>
Thanks, but how did you determine the 12 Member States based on my exit from the plan to explain?
04:19 = 259 seconds = 259 000 milliseconds
259 000 milliseconds / 21538 monobloc bed ~ = 12 milliseconds per read monobloc
Note, however, that A time column, on the other hand, is extremely useful, but it is available only if content plan (RowSource) statistics have been populated.What is the A-time column, you are referring to? Could you please give an example?
ALTER session set statistics_level = all;
Select * from table (dbms_xplan.display_cursor (
Best regards
Nikolai
Tags: Database
Similar Questions
-
"One time" column in dbms_xplan.display_cursor is summed up?
Hello
I did some research on the internet before this announcement, but I could find enough information.
"One time" column in dbms_xplan.display_cursor is summed up?
(hope this execution plan is reasonably legible)--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | Id | Operation | Name | Starts | E-Rows | A-Rows | A-Time | Buffers | Reads | OMem | 1Mem | Used-Mem | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 1 | | 155 |00:06:36.28 | 4957K| 34952 | | | | | 1 | SORT ORDER BY | | 1 | 1 | 155 |00:06:36.28 | 4957K| 34952 | 55296 | 55296 |49152 (0)| | 2 | NESTED LOOPS | | 1 | 1 | 155 |00:06:30.04 | 4957K| 34952 | | | | | 3 | NESTED LOOPS | | 1 | 1 | 155 |00:06:30.04 | 4957K| 34952 | | | | | 4 | NESTED LOOPS | | 1 | 1 | 155 |00:06:30.04 | 4957K| 34952 | | | | | 5 | NESTED LOOPS | | 1 | 1 | 155 |00:06:30.04 | 4956K| 34952 | | | | | 6 | NESTED LOOPS | | 1 | 1 | 155 |00:06:30.04 | 4956K| 34952 | | | | | 7 | NESTED LOOPS | | 1 | 1 | 155 |00:06:30.03 | 4956K| 34952 | | | | | 8 | NESTED LOOPS | | 1 | 1 | 155 |00:06:30.03 | 4956K| 34952 | | | | | 9 | NESTED LOOPS | | 1 | 1 | 155 |00:06:30.03 | 4956K| 34952 | | | | | 10 | NESTED LOOPS | | 1 | 1 | 155 |00:06:30.03 | 4955K| 34952 | | | | | 11 | NESTED LOOPS | | 1 | 1 | 155 |00:06:30.03 | 4955K| 34952 | | | | | 12 | NESTED LOOPS | | 1 | 1 | 155 |00:06:30.03 | 4955K| 34952 | | | | | 13 | NESTED LOOPS | | 1 | 1 | 155 |00:06:30.03 | 4954K| 34952 | | | | |* 14 | HASH JOIN | | 1 | 1 | 155 |00:06:30.03 | 4954K| 34952 | 872K| 872K| 927K (0)| | 15 | VIEW | | 1 | 15 | 8 |00:06:28.63 | 1305K| 34883 | | | | |* 16 | FILTER | | 1 | | 8 |00:06:28.63 | 1305K| 34883 | | | | | 17 | HASH GROUP BY | | 1 | 15 | 8 |00:06:28.63 | 1305K| 34883 | 760K| 760K| 1077K (0)| | 18 | VIEW | | 1 | 15 | 341 |00:00:50.44 | 1305K| 34883 | | | | | 19 | UNION-ALL | | 1 | | 341 |00:00:50.44 | 1305K| 34883 | | | | | 20 | VIEW | V_POSNR_2011000 | 1 | 7 | 303 |00:00:50.44 | 645K| 31282 | | | | | 21 | UNION-ALL | | 1 | | 303 |00:00:50.44 | 645K| 31282 | | | | | 22 | VIEW | V_POSNR_0200011 | 1 | 2 | 20 |00:00:50.42 | 429K| 31244 | | | | | 23 | UNION-ALL | | 1 | | 20 |00:00:50.42 | 429K| 31244 | | | | | 24 | NESTED LOOPS | | 1 | 1 | 20 |00:00:50.42 | 376K| 28979 | | | | |* 25 | HASH JOIN | | 1 | 1 | 20 |00:00:50.42 | 376K| 28979 | 1096K| 1096K| 1348K (0)| |* 26 | TABLE ACCESS BY INDEX ROWID | PROPERTIES | 1 | 6 | 2651 |00:00:00.02 | 2131 | 0 | | | | |* 27 | INDEX RANGE SCAN | P_SETAALDATE_IDX | 1 | 6 | 2651 |00:00:00.01 | 21 | 0 | | | | | 28 | VIEW | VW_JF_SET$7992605D | 1 | 2 | 504 |00:02:30.85 | 374K| 28979 | | | | | 29 | UNION-ALL | | 1 | | 504 |00:02:30.85 | 374K| 28979 | | | |
I thought that the columns A-time indicates the time of the operation in question (summarizing all time from the operation of the child)
but this seems different:
Line 25 is a JOIN hash including a tableTABLE (1) the ACCESS BY INDEX ROWID and (2) the result of a VIEW|* 25 | HASH JOIN | | 1 | 1 | 20 |00:00:50.42 | 376K| 28979 | 1096K| 1096K| 1348K (0)| |* 26 | TABLE ACCESS BY INDEX ROWID | PROPERTIES | 1 | 6 | 2651 |00:00:00.02 | 2131 | 0 | | | | |* 27 | INDEX RANGE SCAN | P_SETAALDATE_IDX | 1 | 6 | 2651 |00:00:00.01 | 21 | 0 | | | | | 28 | VIEW | VW_JF_SET$7992605D | 1 | 2 | 504 |00:02:30.85 | 374K| 28979 | | | |
The Timing of the HASH (line 25) JOIN is 00:00:50.42, but the timing of the VIEW is 00:02:30.85 who ought both to complete before you chop it can happen
So I thought the HASH JOIN would be (at least) a schedule of the 00:02:30.85 of the VIEW, plus the 00:00:00.02 of the TABLE ACCESS BY INDEX ROWID.
But it seems that it is a misconception, can anyone shed light on this?
Best regards
Published by: x45r32 on April 4, 2012 08:25
Published by: x45r32 on April 4, 2012 08:46Hello
How do you collect statistical plan - via STATISTICS_LEVEL = ALL or gather_plan_statistics reference to the declaration?
The indicator is known for producing inaccurate schedules from time to time (has to do with the sampling frequency), STATISTICS_LEVEL = ALL should be more specific.
Best regards
Nikolai -
I tried to cancel my plan several times, still doesn't let me do. Help?
I tried to cancel my plan several times, still doesn't let me do. Help?
This is an open forum, not the Adobe support... You need Adobe support to cancel a subscription
-Cancel http://helpx.adobe.com/x-productkb/policy-pricing/return-cancel-or-change-order.html
-or http://helpx.adobe.com/x-productkb/policy-pricing/cancel-membership-subscription.html
-or by phone http://helpx.adobe.com/x-productkb/global/phone-support-orders.html
-
Convert date and time column column
Hi all
I want to convert the date column to date-time column in the place of time, should be set from 07:00
example of
26/10/12-07:00
I have sysdate who only date and I added 1 to that date and now I must include part time and want to display as mentioned above.
TO_CHAR (sysdate + 1) is the column that I already now for this column, I add time portion(07:00:00AM).
Please help me with the same.
Thanks in advance.When you insert the column date, then insert it using 07:00 in time, like the big ones showed you (trunc (the_date) + 7/24)
-
good performance in the long plan Explain.
Hello
on 11.2.0.3 for a query, I have more explain plan that sounds great, but when it is executed by an application it does not end.
She's waiting on db file scattered read. Thanks for your ideas.
---------------------------------------------------------------------------------------------------
| ID | Operation | Name | Lines | Bytes | Cost (% CPU). Time |
---------------------------------------------------------------------------------------------------
| 0 | INSERT STATEMENT. | 1. 427. 2 (0) | 00:00:01 |
| 1. LOAD TABLE CLASSIC | PS_PC_RT_RUN_TA24 | | | | |
|* 2 | FILTER | | | | | |
| 3. TABLE ACCESS BY INDEX ROWID | PS_PRT_PRICE4 | 1. 427. 0 (0) | 00:00:01 |
|* 4 | INDEX RANGE SCAN | PSAPRT_PRICE4 | 1. | 0 (0) | 00:00:01 |
|* 5 | TABLE ACCESS FULL | PS_PC_RT_RUN_TA24 | 1. 57. 2 (0) | 00:00:01 |
---------------------------------------------------------------------------------------------------
Name of the query block / Alias object (identified by the operation identity card):
-------------------------------------------------------------
1 SALT$ 1
3 SALT$ 1 / PRT@SEL$1
4 SALT$ 1 / PRT@SEL$1
5 SALT$ 2 / A@SEL$2
Information of predicates (identified by the operation identity card):
---------------------------------------------------
2 filter (NOT EXISTS (SELECT 0 'A' where 'PS_PC_RT_RUN_TA24'))
"A"." BUSINESS_UNIT ' =: B1 AND 'A'. '. PROJECT "=: B2 AND 'A'". "" ACTIVITY_ID "=: B3 AND.
"A"." RESOURCE_ID "=: B4 AND 'A'". "" PROCESS_INSTANCE "(=2690469))"
4 - access("PRT".") PROCESS_INSTANCE "= 2690469).
5 - filter("A".") BUSINESS_UNIT ' =: B1 AND 'A'. '. PROJECT "=: B2 AND 'A'". "" ACTIVITY_ID "=: B3.
AND 'A '. "RESOURCE_ID" =: B4 AND 'A' "." " PROCESS_INSTANCE "= 2690469).
SQL > show parameter optimizer
VALUE OF TYPE NAME
------------------------------------ ----------- ----------
OPTIMIZER_CAPTURE_SQL_PLAN_BASELINES boolean FALSE
optimizer_dynamic_sampling integer 2
optimizer_features_enable string 11.2.0.3
optimizer_index_caching integer 0
OPTIMIZER_INDEX_COST_ADJ integer 100
the string ALL_ROWS optimizer_mode
optimizer_secure_view_merging Boolean TRUE
optimizer_use_invisible_indexes boolean FALSE
optimizer_use_pending_statistics boolean FALSE
optimizer_use_sql_plan_baselines boolean TRUE
OK and what about the other issues? Are the stats accurate? In addition, application version/bundle you are on? Have you had a glance on My Oracle Support, apparently, there are a lot of perf. question on EI.
I'm not really expert FSCM, maybe these tables is completed only when the AE run, otherwise empty (is PS_PC_RT_RUN_TA24 not a temp table?). And Oracle could collect its stats when it was empty. So it could be totally bad positioning.
You can add a step before that a guilty just to gather statistics on the tables involved in this insert statement (probably not with 100% rating, but start with 10).
I remember of a workaround on a similar behavior on the Payroll when we needed to lock the stats on the tables (with more accurate values actually) avoiding to be replaced by 0 outside EI run.
Nicolas.
-
ORACLE VERSION: 10.2.0.3
Operating system: Windows 2003
I've been running the same SQL statement twice after rinsing my buffer_cache. As expected the first took more time (elapsed time: 00:00:07.67) according to the second one (00:00:00.51). But why not the given result in time does not change the column of my autotrace report. HE shows me the twice 00:02:01 as you can see in my listings.
Achim.bigemp DESC;
Name Null type
EMPNO NUMBER
ENAME VARCHAR2 (10)
USE VARCHAR2 (9)
MGR NUMBER 4
HIREDATE DATE
SAL NUMBER (7.2)
NUMBER (7.2) COMM
DEPTNO NUMBER (2)
8 selected lines
COUNT (*)
----------------------
7529536
First ROUND
SQL > set the calendar;
SQL > set autotrace traces;
SQL > select count (empno) in the achim.bigemp;
Abgelaufen: 00:00:07.67
Ausf³hrungsplan
----------------------------------------------------------
Hash value of plan: 870989070
-----------------------------------------------------------------------------
| ID | Operation | Name | Lines | Bytes | Cost (% CPU). Time |
-----------------------------------------------------------------------------
| 0 | SELECT STATEMENT | 1. 3. 10023 (3) | 00:02:01 |
| 1. GLOBAL TRI | 1. 3 | | |
| 2. TABLE ACCESS FULL | BIGEMP | 7529K | 21 M | 10023 (3) | 00:02:01 |
-----------------------------------------------------------------------------
Statistics
----------------------------------------------------------
245 recursive calls
0 db block Gets
44436 consistent gets
44410 physical readings
0 redo size
425 bytes sent via SQL * Net to client
396 bytes received via SQL * Net from client
2 SQL * Net back and forth to and from the client
4 sorts (memory)
0 sorts (disk)
1 rows processed
Second RUN
SQL > select count (empno) in the achim.bigemp;
Abgelaufen: 00:00:00.51
Ausf³hrungsplan
----------------------------------------------------------
Hash value of plan: 870989070
-----------------------------------------------------------------------------
| ID | Operation | Name | Lines | Bytes | Cost (% CPU). Time |
-----------------------------------------------------------------------------
| 0 | SELECT STATEMENT | 1. 3. 10023 (3) | 00:02:01 |
| 1. GLOBAL TRI | 1. 3 | | |
| 2. TABLE ACCESS FULL | BIGEMP | 7529K | 21 M | 10023 (3) | 00:02:01 |
-----------------------------------------------------------------------------
Statistics
----------------------------------------------------------
0 recursive calls
0 db block Gets
44408 compatible Gets
0 physical reads
0 redo size
425 bytes sent via SQL * Net to client
396 bytes received via SQL * Net from client
2 SQL * Net back and forth to and from the client
0 sorts (memory)
0 sorts (disk)
1 rows processed
SQL >
When I ask the elapsed_time of v$ sqlarea I get the same result, as shown on my screen in SQLPLUS or SQL Developer. It would be nice to give me a hint how I understand the DURATION indicated in the report autotrace.
Thank you AchimSee this link for some Autotrace more information: [test Autotrace | http://jonathanlewis.wordpress.com/testing-autotrace/]
-
Hi all
I've implemented a VI which measures tension that automatically saves the data in excel with writing to the file express measure VI. I need to record the elapsed time that I did, but the saving in excel column header is "Untitled". I can name over time so it is automatically added into the excel spreadsheet? Thank you.
Scott
More code would be necessary to create and write the column headings and ensure that it is the fact that only once. Using the fixed attribute function, you add a unique feature to the block diagram.
-
Hey,.
I'm trying to display a column value only once for a folder, not a static value. Changes in value and it can be a lot of values. I don't think that grouping will work since the Date value is dynamic. I use Oracle for Toad 10.5. There are 4 files with data from this trial.
select Date, Person, Language, Country from TableA
Want to display onlyTableA Date Person Language Country 01/25/2013 James English 12/20/2012 James English US AF
Thanks for reading this thread!Date Person Language Country 01/25/2013 James English 12/20/2012 US AF
Published by: Nikki on January 7, 2013 13:08Hello
You can use the ROW_NUMBER analytic function to see if a given line is the 1st row in a group and display only the columns of the person and the language when it is:
WITH got_r_num AS ( SELECT dt -- DATE is not a good column name , person, language, country , ROW_NUMBER () OVER ( PARTITION BY person , language ORDER BY dt ) AS r_num FROM table_x ) SELECT dt , CASE WHEN r_num = 1 THEN person END) AS person , CASE WHEN r_num = 1 THEN language END) AS language , country FROM got_r_num ORDER BY person, language, dt -- If wanted ;
Your front end, perhaps as a way of hiding these values when you want to. PAUSE function in SQL * more to it; I don't know if toad has nothing comparable.
I hope that answers your question.
If not, post a small example data (CREATE TABLE and only relevant columns, INSERT statements) where the query above generates erroneous results, and also after the good results you want from this data.
Explain, using specific examples, how you get these results from these data.
Always say what version of Oracle you are using (for example, 11.2.0.2.0).
See the FAQ forum {message identifier: = 9360002} -
How to activate the plan explained in JDeveloper?
Can you tell me how to get explain in JDeveloper plan?
Thanks in advance.If you use jdev 11 simply open a sql worksheet, type in your statement or query and press F6 (run explain Plan) or the third button from the right on the toolbar of the worksheet.
Timo
-
Application blackBerry Smartphones for planning the time of synchronization?
I know that blackberry use push e-mail and tasks, etc. But y at - it app to set certain times not too? In Windows Mobile, you can set how far it only syncs on certain days, times, etc. Any help would be appreciated. -Stephen
Feature: BB 9000 (bold)
Server: BES
For as far as I know no app for that... RIM's entire reputation was his push email technology that others have tried to imitate.
The RIM of your email server grabbing and pushing on your device cannot be scheduled. It happens.
And you're on BES... you can talk with your BES administrator. Perhaps there is something that I do not know WHAT BES associated.
-
Oracle Scheduler: create different planning daily times
Hello
Is it possible to create different schedule times based on the day?
Example I schedule a backup job to run every day @ 23: 00
So, I set up my work as:
run dbms_scheduler.set_attribute (name = > 'DAILY_BACKUP_JOB', attribute = > 'repeat_interval', value = > ' FREQ = DAILY;) BYHOUR = 23; BYMINUTE = 00');
But now I want to refine that it and I first work every Sunday @ 9 pm.
is - it possible to set this is the same work? Or do I have to create 2 separate jobs for her? One for MON - sat @ 11 pm and another for Sun @ 9 pm?
Kind regards
Hello
You can create 2 tables and assign them to your business:
BEGIN -- week days dbms_scheduler.create_schedule('week_days_sched', repeat_interval => 'FREQ=DAILY;BYDAY=MON,TUE,WED,THU,FRI,SAT;BYHOUR=23'); -- sunday dbms_scheduler.create_schedule('sunday_sched', repeat_interval => 'FREQ=DAILY;BYDAY=SUN;BYHOUR=21'); END; /
Now specify these 2 schedules for your business:
BEGIN dbms_scheduler.set_attribute( name => 'YOUR_JOB', attribute => 'repeat_interval', value => 'week_days_sched,sunday_sched'); END; /
-
Outer Join don't know the smallest and largest join until the run time column
Hello, I have three tables and I don't know which one is the smallest game of the outer join column. So, how can I join them and the following output.
If I know in advance, which is the largest and which one is the smallest game so I can use something like below, but what if I don't know which is the smallest together or we're great together?
Test case and the request for a fixed set, smaller and more large set case:
Select x1.nm, cnt1, cnt2, cvt3.cnt cnt3
Of
(
Select cvt1.nm, cvt1.cnt cnt1, cnt2 in cvt1 cvt2.cnt, cvt2
where cvt1.nm = cvt2.nm (+)
) x 1, cvt3
where x1.nm = cvt3.nm (+)
NM CNT1, CNT2 CNT3
-- ---------- ---------- ----------
A 1 101
B 2 102
C 3
4 1001 D
5 1002 E
create table cvt1 (nm varchar2 (1), cnt1 number)
/
create table cvt2 (nm varchar2 (1), number of cnt2)
/
create table cvt3 (nm varchar2 (1), cnt3 number)
/
insert into cvt1 select 'A', 1 double
/
insert into cvt1 select 'B', 2 of the double
/
insert into cvt1 select 'C', 3 double
/
INSERT into cvt1 select would be ', 4 of the double
/
insert into cvt1 select 'E', 5 double
Insert into select cvt2 'A', 101 double
/
Insert into cvt2 select 'B', 102 of the double
/
Insert into select 'C', 103 double cvt2
/
INSERT into cvt3 select would be ', double 1001
/
insert into cvt3 select 'E', 1002 double
/
Published by: xwo0owx on March 31, 2011 12:48
-
can set the size of many work plans once time?
~
This is done by using scripts. I don't know there's a there that seems a regular requirement...
Mylenium
-
display the same value in a times column in multiple lines
Dear all:
I have a table id, with the following data values
ID VALUES
===============
EG001 5888314
EG001 5888315
EG001 5888316
EG002 5888317
EG002 5888318
I want to display a query to display the result as follows:
ID VALUES
===============
EG001 5888314
5888315
5888316
EG002 5888317
5888318
Kind regards
HassanHello
Try:WITH test_tab AS ( SELECT 'EG001' REC_ID, 5888314 VALUE FROM DUAL UNION ALL SELECT 'EG001', 5888315 FROM DUAL UNION ALL SELECT 'EG001', 5888316 FROM DUAL UNION ALL SELECT 'EG002', 5888317 FROM DUAL UNION ALL SELECT 'EG002', 5888318 FROM DUAL) -- end test data SELECT LTRIM(CASE WHEN row_num = 1 THEN REC_ID ELSE NULL END || ' ' || VALUE) VALUES FROM ( SELECT REC_ID, VALUE, ROW_NUMBER() OVER (PARTITION BY REC_ID ORDER BY VALUE) row_num FROM test_tab) VALUES ---------------------------------------------- EG001 5888314 5888315 5888316 EG002 5888317 5888318
-
Hi Experts,
I had a doubt about the Plan to explain it.
Is there a relationship between the cost amount in the Plan to explain and the number of lines read by the query?
In other words - if the number of lines read by the query increases, which will increase the cost also?
Can someone please give me some advice on this?
Thank you and best regards,
Vanessa B.ranitB wrote:
Hi Experts,I had a doubt about the Plan to explain it.
Is there a relationship between the cost amount in the Plan to explain and the number of lines read by the query?
In other words - if the number of lines read by the query increases, which will increase the cost also?Can someone please give me some advice on this?
"The answer is 'not really' the cost is single block read disc of research time. But if the number of lines that are expected + coming in overall result are higher, the work expected by Oracle would be also higher. Thus, indirectly, the answer may be Yes. That said, the number of rows contained in the plan of the explain command (you should check the execution plan, explain plan is not the real plan) are the lines that the optimizer is expected to pick up and extracted from the number ofrows real may or may not match with her.
Aman...
Maybe you are looking for
-
I want to know how do to report that I authorized the purchase and when I search my purchase order ID is
-
Don't get all codes java error or notifications! I'll use system very well and all of a sudden to abruptly PART of page. If I roll the page with the mouse, it will return to normal. Help
-
I have no idea why, but as of last night and today, even after the update to the latest version of Skype, the program crashes as soon as it starts. Erase the app gets it to work the first time that I run, but after that, it crashes again unless I hav
-
Open g vi in the project folder
If I used a few open g vi and I want to include these vi in my project folder, so that all my vi are under the same folder. What is the best way to achieve this? What I have to do a source distribution?
-
JUCHECKER. EXE trying to install
I have a new top of Tower HP with Windows 7. I get notification to install the juchecker.exe. I invite not however it is persistent. Is my lap top can be infected? Can I stop or remove?