RQD of suggestion for the execution Plan
create table emp (empno number (10), empname varchar2 (100));Insert into emp values(1,'SEN');
Insert into emp values(2,'VIN');
create table dept (deptno number (10), empno number (10));
Insert in the dept values (10.1);
Insert in the dept values (20.2);
When executing this query, the total cost, I can see is 5 + 5 + 2 + 2
Select emp.empno in EMP, dept
where emp.empno = dept.empno
but we execute the query
Select emp.empno in EMP, dept
where instr (emp.empno, dept.empno) > 0
The total cost, I can see is 4 + 4 + 2 + 1
So what exactly happends here...? without joining the table, I'm fast.
is the second query is better for performance. Frm pls confirm your side.
S
It's just that the two statements are not the same
SQL> insert into emp1 values (33, 'KAR')
2 /
1 row created.
SQL> insert into dept1 values(30, 3)
2 /
1 row created.
SQL> select * from emp1
2 /
EMPNO EMPNAME
---------- --------------------
1 SEN
2 VIN
33 KAR
SQL> select * from dept1
2 /
DEPTNO EMPNO
---------- ----------
10 1
20 2
30 3
SQL> select emp1.empno from emp1, dept1 where emp1.empno = dept1.empno
2 /
EMPNO
----------
1
2
SQL> select emp1.empno from emp1, dept1 where instr(emp1.empno, dept1.empno) > 0
2 /
EMPNO
----------
1
2
33
Tags: Database
Similar Questions
-
Should I wait until the end of the execution time of the query for the execution plan?
Hello Experts,
I want to see the execution plan of the query below. However, it takes more than 3 hours. Should I wait all the time to see the execution plan?
Note: EXPLAIN PLAN for does not work. (I mean that I do not see the actual line number, etc. with EXPLAIN the PLAN of market)
You can see the output of the execution plan when I canceled the execution after 1 minute.
My first question is: what should I do to see the execution plan for queries running out of time time?
2nd question: when I cancel the query during execution in order to see the execution plan, will I see the specific plan of execution or erroneous values? Because the first execution plan seems inaccurate, what do you think?
question 3: why EXPLAIN the PLAN for the clause does not work? Also, should I use EXPLAIN the PLAN of the clause to this scenerio? Can I see the result of running for long time without her queries?
Thnaks for your help.
Oracle Database 11 g Enterprise Edition Release 11.2.0.2.0 - 64 bit Production
PL/SQL Release 11.2.0.2.0 - Production
CORE Production 11.2.0.2.0
AMT for Linux: Version 11.2.0.2.0 - Production
NLSRTL Version 11.2.0.2.0 - Production
Select / * + GATHER_PLAN_STATISTICS NO_PARALLEL * / J.INVOICEACCOUNT, J.INVOICEID, J.INVOICEDATE, (T.LINEAMOUNT + T.LINEAMOUNTTAX) price
of custinvoicejour j join custinvoicetrans t on
substr (nls_lower (j.DataAreaId), 1, 7) = substr (nls_lower (t.dataareaid), 1, 7) and
substr (nls_lower (J.INVOICEID), 1: 25) = substr (nls_lower (t.INVOICEID), 1: 25)
where
substr (nls_lower (T.DATAAREAID), 1, 7) = '201' and T.AVBROCHURELINENUM = 29457
and substr (nls_lower (j.dataareaid), 1, 7) = '201' and
J.INVOICEACCOUNT in
(select IT. Drmpos.avtr_seg_cust_campend ACCOUNTNUM this where THIS. CAMPAIGN = '201406' and THIS. SEGMENT_LEVEL in (', 'E'))
and J.AVAWARDSALES > 190
and substr (nls_lower (J.AVBILLINGCAMPAIGN), 1, 13) = '201406'
"and J.INVOICEDATE between ' 04.06.2014' and ' 13.06.2014 ';
SQL_ID, dznya6x7st0t8, number of children 0
-------------------------------------
Select / * + GATHER_PLAN_STATISTICS NO_PARALLEL * / J.INVOICEACCOUNT,.
J.INVOICEID, J.INVOICEDATE, (T.LINEAMOUNT + T.LINEAMOUNTTAX) price of
CustInvoiceJour j join custinvoicetrans t on
substr (nls_lower (j.DataAreaId), 1, 7) =
substr (nls_lower (t.DataAreaId), 1, 7) and
= substr (nls_lower (J.INVOICEID), 1: 25)
substr (nls_lower (t.INVOICEID), 1: 25) where
substr (nls_lower (T.DATAAREAID), 1, 7) = '201' and T.AVBROCHURELINENUM =
29457 and substr (nls_lower, (j.dataareaid), 1, 7) = '201' and
J.INVOICEACCOUNT in (select CE. ACCOUNTNUM of
drmpos.avtr_seg_cust_campend this where THIS. CAMPAIGN = '201406' and
IT. SEGMENT_LEVEL in (', 'E')) and J.AVAWARDSALES > 190 and
substr (nls_lower (J.AVBILLINGCAMPAIGN), 1, 13) = '201406' and
"J.INVOICEDATE between ' 04.06.2014' and ' 13.06.2014 '.
Hash value of plan: 2002317666
--------------------------------------------------------------------------------------------------------------------------------------------------------------
| ID | Operation | Name | Begins | E - lines. A - lines. A - time | Pads | Bed | OMem | 1Mem | Used Mem.
--------------------------------------------------------------------------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1. | 0 | 00:00:00.01 | 0 | 0 | | | |
|* 1 | HASH JOIN | | 1. 3956. 0 | 00:00:00.01 | 0 | 0 | 2254K | 1061K | 2190K (0) |
|* 2 | HASH JOIN | | 1. 87. 16676. 00:00:01.64 | 227K | 3552. 3109K | 1106K | 4111K (0) |
|* 3 | TABLE ACCESS BY INDEX ROWID | CUSTINVOICEJOUR | 1. 1155 | 31889 | 00:00:01.16 | 223KO | 15. | | |
|* 4 | INDEX RANGE SCAN | I_062INVOICEDATEORDERTYPEIDX | 1. 4943 | 134K | 00:00:00.83 | 45440 | 0 | | | |
| 5. SIMPLE LIST OF PARTITION. | 1. 82360 | 173K | 00:00:00.08 | 3809 | 3537 | | | |
|* 6 | TABLE ACCESS FULL | AVTR_SEG_CUST_CAMPEND | 1. 82360 | 173K | 00:00:00.06 | 3809 | 3537 | | | |
| 7. TABLE ACCESS BY INDEX ROWID | CUSTINVOICETRANS | 1. 4560 | 0 | 00:00:00.01 | 0 | 0 | | | |
|* 8 | INDEX RANGE SCAN | I_064INVLINENUMCAMPAIGNOFPRICE | 1. 4560 | 0 | 00:00:00.01 | 0 | 0 | | | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------
Information of predicates (identified by the operation identity card):
---------------------------------------------------
1 - access("J".") "SYS_NC00299$"="T". "' SYS_NC00165$ ' AND SUBSTR (NLS_LOWER ('J'. "" "" REFFACTURE")(, 1, 25) = SUBSTR (NLS_LOWER ("T"." "" "REFFACTURE")(, 1, 25)).
2 - access("J".") INVOICEACCOUNT '= SYS_OP_C2C ("EC". ". ACCOUNTNUM'))
3 - filter("J".") AVAWARDSALES"> 190)
4 - access("J".") SYS_NC00299$ "= U ' 201"AND "J". INVOICEDATE"> = TO_DATE(' 2014-06-04 00:00:00', 'syyyy-mm-dd hh24:mi:ss') AND
"J"." SYS_NC00307$ "= U ' 201406"AND "J". INVOICEDATE"< = TO_DATE (' 2014-06-13 00:00:00 ',' syyyy-mm-dd hh24:mi:ss')))
filter ((' J'. "INVOICEDATE' > = 'J' AND TO_DATE(' 2014-06-04 00:00:00', 'syyyy-mm-dd hh24:mi:ss') '." " SYS_NC00307$ "= U '201406' AND"
"J"." INVOICEDATE"< = TO_DATE (' 2014-06-13 00:00:00 ',' syyyy-mm-dd hh24:mi:ss'))))
6 filter (("CE". "SEGMENT_LEVEL" = A "OR"THIS"." SEGMENT_LEVEL "=" E"))
8 - access("T".") SYS_NC00165$ "= U ' 201"AND "T". AVBROCHURELINENUM "= 29457)
filter ("T". ("AVBROCHURELINENUM" = 29457)
EXPLAIN PLAN FOR
Select / * + GATHER_PLAN_STATISTICS NO_PARALLEL * / J.INVOICEACCOUNT, J.INVOICEID, J.INVOICEDATE, (T.LINEAMOUNT + T.LINEAMOUNTTAX) price
of custinvoicejour j join custinvoicetrans t on
substr (nls_lower (j.DataAreaId), 1, 7) = substr (nls_lower (t.dataareaid), 1, 7) and
substr (nls_lower (J.INVOICEID), 1: 25) = substr (nls_lower (t.INVOICEID), 1: 25)
where
substr (nls_lower (T.DATAAREAID), 1, 7) = '201' and T.AVBROCHURELINENUM = 29457
and substr (nls_lower (j.dataareaid), 1, 7) = '201' and
J.INVOICEACCOUNT in
(select IT. Drmpos.avtr_seg_cust_campend ACCOUNTNUM this where THIS. CAMPAIGN = '201406' and THIS. SEGMENT_LEVEL in (', 'E'))
and J.AVAWARDSALES > 190
and substr (nls_lower (J.AVBILLINGCAMPAIGN), 1, 13) = '201406'
"and J.INVOICEDATE between ' 04.06.2014' and ' 13.06.2014 ';
SELECT * FROM table (DBMS_XPLAN. DISPLAY_CURSOR);
SELECT * FROM table (DBMS_XPLAN. DISPLAY_CURSOR ('7h1nbzqjgwsp7', 2));
SQL_ID, 7h1nbzqjgwsp7, number of children 2
EXPLAIN PLAN for select / * + GATHER_PLAN_STATISTICS NO_PARALLEL * /.
J.INVOICEACCOUNT, J.INVOICEID, J.INVOICEDATE,
(T.LINEAMOUNT + T.LINEAMOUNTTAX) join price j custinvoicejour
CustInvoiceTrans t on substr (nls_lower (j.dataareaid), 1, 7) =
substr (nls_lower (t.DataAreaId), 1, 7) and
= substr (nls_lower (J.INVOICEID), 1: 25)
substr (nls_lower (t.INVOICEID), 1: 25) where
substr (nls_lower (T.DATAAREAID), 1, 7) = '201' and T.AVBROCHURELINENUM =
29457 and substr (nls_lower, (j.dataareaid), 1, 7) = '201' and
J.INVOICEACCOUNT in (select CE. ACCOUNTNUM of
drmpos.avtr_seg_cust_campend this where THIS. CAMPAIGN = '201406' and
IT. SEGMENT_LEVEL in (', 'E')) and J.AVAWARDSALES > 190 and
substr (nls_lower (J.AVBILLINGCAMPAIGN), 1, 13) = '201406' and
"J.INVOICEDATE between ' 04.06.2014' and ' 13.06.2014 '.
NOTE: cannot fetch SQL_ID plan: 7h1nbzqjgwsp7, CHILD_NUMBER: 2
Check the value of SQL_ID and CHILD_NUMBER;
It could also be that the plan is no longer in the cursor cache (check v$ sql_plan)
NightWing wrote:
Randolf,
I don't understand. What you hear from the above statement that you mean A-lines and E will be incorrect, but the ratio between them remain the same. Therefore, you can deduct the bad things by comparing the differences.
Thus, A-lines always give a wrong result for cancellation of queries, isn't it?
Charlie,
I think that Martin gave a good explanation. Here's another example that hopefully makes more obvious things:
17:56:55 SQL >-things go very wrong here with a small buffer cache
17:56:55 SQL >-T2 lines are badly scattered when you access through T1. FK
17:56:55 SQL >--
17:56:55 SQL >-"Small job" approach would have been a good idea
17:56:55 SQL >-if the estimate of 100 iterations of the loop was correct!
17:56:55 SQL > select
17:56:55 (t2.attr2) count 2
17:56:55 3 of
17:56:55 4 t1
17:56:55 5, t2
17:56:55 6 where
17:56:55 7 /*------------------*/
17:56:55 8 trunc (t1.attr1) = 1
17:56:55 9 and trunc (t1.attr2) = 1
17:56:55 10 / *-* /.
17:56:55 11 and t1.fk = t2.id
17:56:55 12.
T1
*
ERROR on line 4:
ORA-01013: user has requested the cancellation of the current operation
Elapsed time: 00:04:58.30
18:01:53 SQL >
18:01:53 SQL > @xplan_extended_display_cursor ' ' ' ' 'ALLSTATS LAST + COST.
18:01:53 SQL > set echo off verify off termout off
SQL_ID, 353msax56jvvp, number of children 0
-------------------------------------
SELECT count (t2.attr2) from t1, t2 where
/ / *-* trunc (t1.attr1) = 1 and
trunc (T1.attr2) = 1 / *-* / and t1.fk = t2.id
Hash value of plan: 2900488714
------------------------------------------------------------------------------------------------------------------------------------
| ID | The NEST | DSB | Operation | Name | Begins | E - lines. Cost (% CPU). A - lines. A - time | Pads | Bed |
------------------------------------------------------------------------------------------------------------------------------------
| 0 | | 7. SELECT STATEMENT | | 1. | 4999 (100) | 0 | 00:00:00.01 | 0 | 0 |
| 1. 0 | 8 2 GLOBAL TRI | | 1. 1. | 0 | 00:00:00.01 | 0 | 0 |
| 2. 1. 5. NESTED LOOPS | | 1. | | 57516 | 00:04:58.26 | 173K | 30770 |
| 3. 2. 3. NESTED LOOPS | | 1. 100. 4999 (1) | 57516 | 00:00:21.06 | 116K | 3632.
|* 4 | 3. 1. TABLE ACCESS FULL | T1 | 1. 100. 4799 (1) | 57516 | 00:00:00.19 | 1008 | 1087 |
|* 5 | 3. 2. INDEX UNIQUE SCAN | T2_IDX | 57516 | 1. 1 (0) | 57516 | 00:00:20.82 | 115K | 2545 |
| 8 2 2 | 4. TABLE ACCESS BY INDEX ROWID | T2 | 57516 | 1. 2 (0) | 57516 | 00:04:37.14 | 57516 | 27138 |
------------------------------------------------------------------------------------------------------------------------------------
Information of predicates (identified by the operation identity card):
---------------------------------------------------
4 filter ((TRUNC ('T1'. "ATTR1") = 1 AND TRUNC ('T1'. " ATTR2') = 1))
5 - access("T1".") FK '= 'T2'.' (ID')
You say here that I canceled a query after about 5 minutes, and looking at the statistics of content (RowSource) I can already say the following:
1. the estimation of cardinality of T1 is far - the optimizer estimated 100 lines, but it actually generated more than 57000 lines when the query was cancelled. If this definitely seems like a candidate at the origin of the problems
2. the query has spent most of the time in search of random table T2
So while it is true that I don't know final A-lines of this cancelled query information, I can still say a lot of this and begin to deal with the problems identified so far.
Randolf
-
Hence the optimizer is get the data for the execution Plan?
Hi all
11 GR 2 DB.
It may be a fundamental ignorance.
I had created a new table as DEPT_TEST in the sample HR schema provided by ORACLE.
No primary key. No index. Stats not garthered. Now my doubt is hence the optimizer is information for power plan?create table dept_test as select * from departments;
How does he know that the 3 FILTER will produce 2 rows? (That's okay!)SQL> explain plan for 2 select * 3 from employees e,dept_test d 4 where e.department_id = d.department_id 5 and d.department_name in( 'Purchasing','IT Support','xx','yyy'); Explained. SQL> select * 2 from table(dbms_xplan.display); PLAN_TABLE_OUTPUT ---------------------------------------------------------------------------------------------------- Plan hash value: 3561042801 -------------------------------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | -------------------------------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 19 | 2375 | 4 (0)| 00:00:01 | | 1 | NESTED LOOPS | | | | | | | 2 | NESTED LOOPS | | 19 | 2375 | 4 (0)| 00:00:01 | |* 3 | TABLE ACCESS FULL | DEPT_TEST | 2 | 112 | 3 (0)| 00:00:01 | |* 4 | INDEX RANGE SCAN | EMP_DEPARTMENT_IX | 10 | | 0 (0)| 00:00:01 | | 5 | TABLE ACCESS BY INDEX ROWID| EMPLOYEES | 10 | 690 | 1 (0)| 00:00:01 | -------------------------------------------------------------------------------------------------- Predicate Information (identified by operation id): --------------------------------------------------- 3 - filter("D"."DEPARTMENT_NAME"='IT Support' OR "D"."DEPARTMENT_NAME"='Purchasing' OR "D"."DEPARTMENT_NAME"='xx' OR "D"."DEPARTMENT_NAME"='yyy') 4 - access("E"."DEPARTMENT_ID"="D"."DEPARTMENT_ID") Note ----- - dynamic sampling used for this statement (level=2) 23 rows selected.
How does know - outside the Department 4 data are names, only two (purchase and support). Yet once, no primary key is defined in TEST_DEPT.
Again, if I change the query by adding a name of service valid, optimizer generates the correct plan. He correctly assumes, IN condition will be released 3 departments... !
SQL> select * 2 from table(dbms_xplan.display); PLAN_TABLE_OUTPUT ---------------------------------------------------------------------------------------------------- Plan hash value: 3561042801 -------------------------------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | -------------------------------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 29 | 3625 | 4 (0)| 00:00:01 | | 1 | NESTED LOOPS | | | | | | | 2 | NESTED LOOPS | | 29 | 3625 | 4 (0)| 00:00:01 | |* 3 | TABLE ACCESS FULL | DEPT_TEST | 3 | 168 | 3 (0)| 00:00:01 | |* 4 | INDEX RANGE SCAN | EMP_DEPARTMENT_IX | 10 | | 0 (0)| 00:00:01 | | 5 | TABLE ACCESS BY INDEX ROWID| EMPLOYEES | 10 | 690 | 1 (0)| 00:00:01 | -------------------------------------------------------------------------------------------------- Predicate Information (identified by operation id): --------------------------------------------------- 3 - filter("D"."DEPARTMENT_NAME"='Human Resources' OR "D"."DEPARTMENT_NAME"='IT Support' OR "D"."DEPARTMENT_NAME"='Purchasing' OR "D"."DEPARTMENT_NAME"='xx' OR "D"."DEPARTMENT_NAME"='yyy') 4 - access("E"."DEPARTMENT_ID"="D"."DEPARTMENT_ID") Note ----- - dynamic sampling used for this statement (level=2) 24 rows selected.
Now my doubt is hence the optimizer is information for power plan?
It seems that the optimizer played just - leaving a Note
Note ----- - dynamic sampling used for this statement (level=2)
Concerning
Etbin
-
How to capture the execution plan for a query
Hi all
Can someone help me please to find the command to capture the execution plan for a query.
Execution plan for select * from EMP where < condition >
Is getting executed successfully, but I need to get the appropriate for the same execution plan.
Thank youRead the Doc
-
Cost of the execution plan is different in the two databases
Hi gurus,
I have two databases, which are 12 C.
The execution plan cost is different in the two databases for the same query.
is it possible to copy the execution to another plan.
Thank you in advance
Kind regards
REDA
Jr.Raj wrote:
There are a few differences.
The machine that has a high cost, has setup up, linux, 2-node RAC, more CPU.
and
other machine windows server less Setup and less cpus.
Please explain, cost really makes a difference.
Thank you & best regards
REDA
You simply can't compare costs like that. It does not work like that. Especially through two different systems. Here is a very good read: column the COST of the PLAN to EXPLAIN. Oracle FAQ
-
Find child cursors due to changes in the execution plan
Hi all
I have a situation to provide the list of execution of the plan for a particular SQL_ID. The particular SQL toggles between 2 paths (FTS and Index scan), but at this point in time, I can see that a single (current) plan_hash_value for instruction. That is to say - the previous cursor gets disabled (due to a statistical series application package which in turn disabled the previous cursor - this is my guess).
I can get it from dba_hist_sqlstat for the specific SQL, but curious, it is only possible to get it from the dynamic views such as V$ SQL and V$ SQLAREA for a list of all the plan_hash_values for a particular SQL, where the child_number is 0.
Any idea please?
Note: I am interested to extract cursors of the child due to the execution of different cursors of the regime and not child created because different settings for the same plan (mode ex-optimizer etc...)
> is it possible to capture the two dynamic views PHV even if the first cursor is invalidated
Once it is invalid, it is out! Is no longer present.
Hemant K Collette
-
difference between the execution plan and explain the plan?
What is the difference between the execution plan & explain the plan?an execution plan is the actual steps that oracle will pass by when it executes a query.
explain plan is a tool that is used to generate the steps of an execution plan for a query.
-
Sense of the GOAL: <; text >; in the execution plan
Hello
Could you please help me understand the following in the execution plan (Oracle10gR2)?
++++++++++++++
GOAL: HINT
OBJECTIVE: ANALYZE
++++++++++++++
For example, the following plan:
My question is: what do I do ' GOAL: HINT ' and ' GOAL: ANALYSIS "means? Not specifically for the plan above, just a question about how they mean when they show up in the plan of execution like the one above.Rows Execution Plan ------- --------------------------------------------------- 0 SELECT STATEMENT GOAL: HINT: FIRST_ROWS 301 HASH JOIN 200 TABLE ACCESS GOAL: ANALYZED (FULL) OF 'EP1' 303 NESTED LOOPS 304 TABLE ACCESS GOAL: ANALYZED (BY INDEX ROWID) OF 'EP3' 304 BITMAP CONVERSION (TO ROWIDS) 2 BITMAP OR 2 BITMAP INDEX (SINGLE VALUE) OF 'EP3_BI1' 2 BITMAP INDEX (SINGLE VALUE) OF 'EP3_BI2' 303 TABLE ACCESS GOAL: ANALYZED (BY INDEX ROWID) OF 'EP2' 606 INDEX GOAL: ANALYZED (UNIQUE SCAN) OF 'EP2_PK' (UNIQUE)
Thank you!
Published by: shape on May 6, 2009 10:52
Published by: shape on May 6, 2009 10:54
Published by: shape on May 6, 2009 10:58New: your exit is whence?
And I wonder too much about the word 'OBJECTIVE', the previous words and then the words are much more interest.GOAL: TIP: FIRST_ROWS<-- optimizer="" decided="" to="" use="" first_rows="">-->
301 HASH JOIN
TABLE 200 ACCESS OBJECTIVE: ANALYZED (FULL)<-- optimizer="" decided="" to="" go="" for="" a="" full="" table="" scan="" based="" on="" provided="" table="" stats="" ('analyzed'="" means:="" stats="" are="" available="" for="">-->
303 NESTED LOOPS
304 TABLE ACCESS OBJECTIVE: ANALYSIS (BY INDEX ROWID)<-- optimizer="" decides="" to="" go="" for="" an="" index="" scan="" here="" based="" on="" provided="" table="" stats="" ('analyzed'="" means:="" stats="" are="" available="" for="">--> -
IM ' all the app "creative cloud 'all-inclusive' adobe, the price says $ 49 99 / mo for the annual plan, paid monthly. What means the small 99 means beside the number 49. This means that the price is 49.99 USD for annual paid monthly plan?
Yes. USD 49. 99
Fenja
-
I'm looking for the license plan of 3 years for creative photography cloud, but I might just buy an annual license, in any case to buy 3-year license?
Since this is an open forum, not Adobe support... you must contact Adobe personnel to help
Chat/phone: Mon - Fri 05:00-19:00 (US Pacific Time)<=== note="" days="" and="">===>
Don't forget to stay signed with your Adobe ID before accessing the link below
Creative cloud support (all creative cloud customer service problems)
http://helpx.Adobe.com/x-productkb/global/service-CCM.html
-or by phone http://helpx.adobe.com/x-productkb/global/phone-support-orders.html -
I want to use InDesign, but for this month only! so if I pay for the "monthly plan" means that I pay for this month then the plan InDesign will end?
Hello
Please go through the Adobe - General conditions of subscription as well.
Alternatively, you can contact customer service
Hope that helps!
Kind regards
Sheena
-
Where update my credit card information. My credit card has changed and I don't know where update for the monthly plan.
Br25,
For assistance to change the credit card on your account, please visit this link
(1) connect to www.adobe.com. The sign in link is on the menu at the top of most pages.
(2) (if you are connected from other pages of the adobe.com website, click on your name in the top navigation bar).
(3) in the navigation pane or a context menu, click on manage account.
(4) according to Plans & products, click on manage the Plan.
(5) under payment details, click on Edit payment details.
(6) make appropriate changes in the Edit popup payment method and then click Save.
Please note:
Your billing address and credit card must be in the country of the version you purchase.
Guinot
-
I have a CC to individuals on the annual plan paid monthly membership. How to pass it to the CC for the teams plan so that I can add my first certificate of employee?
Hi Alexalloy,
This should help. Cancel your subscription or membership. Cloud Creative
See you soon!
~ David
-
Star_transformation not shoiwng in the execution plan
Hello
We have a data warehouse and processing star not no projection in the execution plan.
STAR_TRANSFORMATION_ENABLED at the database level.
With the help of 11.2.0.3 on AIX
The fact table has index bitmap and fks to keys on tables dimesnion dimesnion.
Example query
Anthing we are ' % s '?select * from media m, retailer_transaction rt , retailer r where m.dimension_key = rt.plant_issue_id and rt.outlet_id = r.dimension_key and prod_num = 600
Found how interrogate more selective cause said to use star_transformation
added and plis_handled_year = 2013
and out_num 123423
Why is this good?
Is there a rule such as only highly selective queries will use transformation star?
Thank you
Published by: user5716448 on February 15, 2013 04:10Transformation of Star I it'sactually one expensive thing to do. So, the optimizer plans an ABC on this subject. This quote comes from a piece on the blog of optimizer Oracle [url https://blogs.oracle.com/optimizer/entry/star_transformation]:
"The transformation is performed based on cost - when the cost of the transformed plan is lower than that of the unprocessed plan. If dimension filters do not significantly reduce the amount of data to be extracted from the fact table, and then a full table scan is more effective. »
Cheers, APC
-
An odd index in the execution plan name
Hi all
Today someone came to aks my help on setting a SQL. Follow-up is compositions of the entire plan. Although I resovled performance issue, I still don't understand why
the index with the name "BIN$ ld5VAtb88PngQAB/AQF8hg == $0 ' similar appear in the plan."
If I remember correctly, this kind of names mean the items in the Recycle Bin. But the index has been abandoned can be used in the execution plan?
Someone sees potential problems involved with this kind of index name, index name, just please?
Best regards
Leon--------------------------------------------------------------------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | ---------------------------------------------------------------------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 1 | 231 | 5 (0)| 00:00:01 | |* 1 | FILTER | | | | | | | 2 | TABLE ACCESS FULL | TBL_SYS_USERS | 344 | 79464 | 5 (0)| 00:00:01 | | 3 | NESTED LOOPS | | 1 | 80 | 13 (0)| 00:00:01 | |* 4 | TABLE ACCESS FULL | TBL_SYS_DATA_ACCESS_RULES | 1 | 54 | 13 (0)| 00:00:01 | |* 5 | INDEX UNIQUE SCAN | BIN$ld5VAtb88PngQAB/AQF8hg==$0 | 1 | 26 | 0 (0)| 00:00:01 | | 6 | NESTED LOOPS | | 1 | 80 | 13 (0)| 00:00:01 | |* 7 | TABLE ACCESS FULL | TBL_SYS_DATA_ACCESS_RULES | 1 | 54 | 13 (0)| 00:00:01 | |* 8 | INDEX UNIQUE SCAN | BIN$ld5VAtb88PngQAB/AQF8hg==$0 | 1 | 26 | 0 (0)| 00:00:01 | | 9 | NESTED LOOPS | | 1 | 80 | 13 (0)| 00:00:01 | |* 10 | TABLE ACCESS FULL | TBL_SYS_DATA_ACCESS_RULES | 1 | 54 | 13 (0)| 00:00:01 | |* 11 | INDEX UNIQUE SCAN | BIN$ld5VAtb88PngQAB/AQF8hg==$0 | 1 | 26 | 0 (0)| 00:00:01 | |* 12 | TABLE ACCESS BY INDEX ROWID | TBL_SYS_EMPLOYEES | 1 | 26 | 1 (0)| 00:00:01 | |* 13 | INDEX UNIQUE SCAN | BIN$ld5VAtba8PngQAB/AQF8hg==$0 | 1 | | 0 (0)| 00:00:01 | |* 14 | TABLE ACCESS FULL | TBL_SYS_DATA_ACCESS_RULES | 1 | 54 | 13 (0)| 00:00:01 | |* 15 | TABLE ACCESS FULL | TBL_SYS_DATA_ACCESS_RULES | 1 | 54 | 13 (0)| 00:00:01 | |* 16 | TABLE ACCESS FULL | TBL_SYS_DATA_ACCESS_RULES | 1 | 54 | 13 (0)| 00:00:01 | |* 17 | TABLE ACCESS BY INDEX ROWID | TBL_SYS_EMPLOYEES | 1 | 26 | 1 (0)| 00:00:01 | |* 18 | INDEX UNIQUE SCAN | BIN$ld5VAtba8PngQAB/AQF8hg==$0 | 1 | | 0 (0)| 00:00:01 | | 19 | NESTED LOOPS | | 1 | 80 | 14 (0)| 00:00:01 | | 20 | TABLE ACCESS BY INDEX ROWID | TBL_SYS_EMPLOYEES | 1 | 26 | 1 (0)| 00:00:01 | |* 21 | INDEX UNIQUE SCAN | BIN$ld5VAtba8PngQAB/AQF8hg==$0 | 1 | | 0 (0)| 00:00:01 | |* 22 | TABLE ACCESS FULL | TBL_SYS_DATA_ACCESS_RULES | 1 | 54 | 13 (0)| 00:00:01 | | 23 | NESTED LOOPS | | 1 | 80 | 14 (0)| 00:00:01 |
user12064076 wrote:
Hi allToday someone came to aks my help on setting a SQL. Follow-up is compositions of the entire plan. Although I resovled performance issue, I still don't understand why
the index with the name "BIN$ ld5VAtb88PngQAB/AQF8hg == $0 ' similar appear in the plan."If I remember correctly, this kind of names mean the items in the Recycle Bin. But the index has been abandoned can be used in the execution plan?
Someone sees potential problems involved with this kind of index name, index name, just please?Best regards
LeonThe simple answer is that the table has been abandoned and flashed then back to before the fall. When this happens, the table name is restored to its original name, but the index names are not restored. A quick to demonstrate test case.
First, create us a table and an index, and then collect statistics:
DROP TABLE T1 PURGE; CREATE TABLE T1 AS SELECT ROWNUM C1, RPAD('A',255,'A') C2 FROM DUAL CONNECT BY LEVEL<=10000; COMMIT; CREATE INDEX IND_T1_C1 ON T1(C1); EXEC DBMS_STATS.GATHER_TABLE_STATS(OWNNAME=>USER,TABNAME=>'T1',CASCADE=>TRUE)
Then we will check that the index will be used with a sample SQL statement:
SELECT C1, SUBSTR(C2,1,2) FROM T1 WHERE C1<=5; C1 SU --- -- 1 AA 2 AA 3 AA 4 AA 5 AA SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY_CURSOR(NULL,NULL,NULL)); PLAN_TABLE_OUTPUT ----------------------------------------------------------------------------------------- SQL_ID g0kkvxqg3v145, child number 0 ------------------------------------- SELECT C1, SUBSTR(C2,1,2) FROM T1 WHERE C1<=5 Plan hash value: 683303157 ----------------------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | ----------------------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | | | 3 (100)| | | 1 | TABLE ACCESS BY INDEX ROWID| T1 | 5 | 1300 | 3 (0)| 00:00:01 | |* 2 | INDEX RANGE SCAN | IND_T1_C1 | 5 | | 2 (0)| 00:00:01 | ----------------------------------------------------------------------------------------- Predicate Information (identified by operation id): --------------------------------------------------- 2 - access("C1"<=5)
The index has been used.
Then, we will empty the trash, delete the index and see if it can still be used in an execution plan:
PURGE RECYCLEBIN; DROP INDEX IND_T1_C1; SELECT C1, SUBSTR(C2,1,2) FROM T1 WHERE C1<=5; C1 SU --- -- 1 AA 2 AA 3 AA 4 AA 5 AA SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY_CURSOR(NULL,NULL,NULL)); PLAN_TABLE_OUTPUT -------------------------------------------------------------------------- SQL_ID g0kkvxqg3v145, child number 0 ------------------------------------- SELECT C1, SUBSTR(C2,1,2) FROM T1 WHERE C1<=5 Plan hash value: 3617692013 -------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | -------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | | | 137 (100)| | |* 1 | TABLE ACCESS FULL| T1 | 5 | 1300 | 137 (5)| 00:00:01 | -------------------------------------------------------------------------- Predicate Information (identified by operation id): --------------------------------------------------- 1 - filter("C1"<=5)
Note that in the foregoing that falling was not used.
We'll re-create the index and gather statistics (when the index is created on Oracle Database 10.1 and higher, the index of statistics will be automatically collected, so it's actually an unnecessary step):
CREATE INDEX IND_T1_C1 ON T1(C1); EXEC DBMS_STATS.GATHER_TABLE_STATS(OWNNAME=>USER,TABNAME=>'T1',CASCADE=>TRUE)
We could verify that the index will be used again, but we can skip this step.
Now we remove the table and pick up the trash. Then we run the simple query of the T1 table again and retrieve the execution plan:
DROP TABLE T1; FLASHBACK TABLE T1 TO BEFORE DROP; SELECT C1, SUBSTR(C2,1,2) FROM T1 WHERE C1<=5; C1 SU --- -- 1 AA 2 AA 3 AA 4 AA 5 AA SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY_CURSOR(NULL,NULL,NULL)); PLAN_TABLE_OUTPUT -------------------------------------------------------------------------------------------------------------- SQL_ID g0kkvxqg3v145, child number 0 ------------------------------------- SELECT C1, SUBSTR(C2,1,2) FROM T1 WHERE C1<=5 Plan hash value: 3441582395 -------------------------------------------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | -------------------------------------------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | | | 3 (100)| | | 1 | TABLE ACCESS BY INDEX ROWID| T1 | 5 | 1300 | 3 (0)| 00:00:01 | |* 2 | INDEX RANGE SCAN | BIN$PESygWW5R0WhbOaDugxqwQ==$0 | 5 | | 2 (0)| 00:00:01 | -------------------------------------------------------------------------------------------------------------- Predicate Information (identified by operation id): --------------------------------------------------- 2 - access("C1"<=5)
In the above, you will notice that the index has been used, but now has a funny name.
We will resolve the weird name and re - run the query:
ALTER INDEX "BIN$PESygWW5R0WhbOaDugxqwQ==$0" RENAME TO IND_T1_C1; SELECT C1, SUBSTR(C2,1,2) FROM T1 WHERE C1<=5; C1 SU --- -- 1 AA 2 AA 3 AA 4 AA 5 AA SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY_CURSOR(NULL,NULL,NULL)); PLAN_TABLE_OUTPUT ----------------------------------------------------------------------------------------- SQL_ID g0kkvxqg3v145, child number 0 ------------------------------------- SELECT C1, SUBSTR(C2,1,2) FROM T1 WHERE C1<=5 Plan hash value: 683303157 ----------------------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | ----------------------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | | | 3 (100)| | | 1 | TABLE ACCESS BY INDEX ROWID| T1 | 5 | 1300 | 3 (0)| 00:00:01 | |* 2 | INDEX RANGE SCAN | IND_T1_C1 | 5 | | 2 (0)| 00:00:01 | ----------------------------------------------------------------------------------------- Predicate Information (identified by operation id): --------------------------------------------------- 2 - access("C1"<=5)
The index is now back to normal.
Charles Hooper
http://hoopercharles.WordPress.com/
IT Manager/Oracle DBA
K & M-making Machine, Inc.
Maybe you are looking for
-
How to save external files in the logical project?
Didn't know how to phrase the question. Here's the question. Ex: someone sent me an audio file to add to my project of logic and I have it drag my desktop and everything is all fine and good. I save the project, and then proceed to remove the audio f
-
Slate 7-2800... Update of the OS?
Someone else has just received an update of the OS? Last night I went to bed, and the tablet was very good. This morning, when I woke up, the tablet was install an update. After the update and reboot required, all my apps and games have gone. had to
-
HP dv6 motherboard 7210us ENVY!
HelloI have a HP Envy dv6 7210us and I bot the laptop when I was in America,When I arrived home in Serbia of the motherboard is dead on!I have still a guarantee valid wide world, I tried to fix it in the Service Center HP Serbian but they do not have
-
My wife accidentally deleted our audio driver. When trying to reinstall or update, we get the blue screen of death. Any suggestions?
-
Cybershot DSC-tx200v AVCHD 28 M conversion in an acceptable format for Mac
I gave my wife this new camera before moving a week 3 cruise Down Under, it came together from high level on the quality of the movie, I have a MacPro w/IOS 10.6.8 (Snow Leopard) and will not download. I need a way to convert AVCHD 28 M in a less acc