Help for interpretation explains the release of the plan (dbms_xplan)
Hi allI am trying to familiarize themselves with the reading and interpretation of the output of explain plan command or dbms_xplan, and so I hope someone can help with the output below.
With the command explain below, means that...
(a) he began to step 8 and sends all the lines of the loop nested in step 5
(b) but sends (or think it sends) 1 row in step 5 to step 8
(c) for each line that is provided in step 5, there will be a search index in step 8 to access the table in step 6
(d) step 8 gets only (or think it gets) 1 row
If that means that only 1 row is expected by the optimizer and yet the full table scan must return to 150 000 documents, and table a statistiucs to date, what else would cause the cardinality be far off?
If she does not mean it will return 1 row, then does that mean?
----------------------------------------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
----------------------------------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | | | 945 (100)| |
| 1 | SORT GROUP BY | | 1 | 283 | 945 (3)| 00:00:05 |
|* 2 | FILTER | | | | | |
| 3 | NESTED LOOPS | | | | | |
| 4 | NESTED LOOPS | | 1 | 283 | 944 (3)| 00:00:05 |
| 5 | NESTED LOOPS | | 1 | 108 | 929 (3)| 00:00:05 |
|* 6 | MAT_VIEW ACCESS FULL | DEMOGRAPHICS_MV | 1 | 97 | 927 (3)| 00:00:05 |
|* 7 | MAT_VIEW ACCESS BY INDEX ROWID| NAMES_MV | 1 | 11 | 2 (0)| 00:00:01 |
|* 8 | INDEX RANGE SCAN | ORG_MV_IDX1 | 1 | | 1 (0)| 00:00:01 |
|* 9 | INDEX RANGE SCAN | PAY_IDX8 | 252 | | 4 (0)| 00:00:01 |
|* 10 | TABLE ACCESS BY INDEX ROWID | PAY_ALL | 1 | 175 | 15 (0)| 00:00:01 |
----------------------------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
8 - access("ORG_MV"."ORG_ID"="DEMO_MV"."ORG_ID")
Thanks a lot for your help.
SQL execution starts at ID = 6 with full scan on DEMOGRAPHICS_MV. This analysis should return 1 row.
Then, he expects to lead a nested loop to scan via the Index ORG_MV_IDX1 a NAMES_MV once (for 1 line, extracted from DEMOGRAPHICS_MV).
It then goes to PAY_IDX8 once where he expects to get 252 ROWID.
Finally, it accesses the table PAY_ALL.
You should also post the main information because it is very important to understand access and FILTER operations for each operation.
Hemant K Collette
Tags: Database
Similar Questions
-
Explain the plans differ as the parameter value changes
Hi all
My colleague posted a similar question a few days before. Happened because of some bad index. But now we are in a strange situation.
DB:
We use the query below and was working fine until 13.SQL> select * from v$version; BANNER ---------------------------------------------------------------- Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod PL/SQL Release 10.2.0.1.0 - Production CORE 10.2.0.1.0 Production TNS for 32-bit Windows: Version 10.2.0.1.0 - Production NLSRTL Version 10.2.0.1.0 - Production
It shows a hash join and nested with cost 16963 loops and gives the result in 2-3 seconds. It gives the same plan to explain even now if we use batch_id = '130609'SQL> explain plan for 2 SELECT * 3 FROM gacc_dtl_v1 acc, 4 gcus_dtl_v1 cus, 5 gtxn_dtl_v1 txn 6 WHERE txn.customer_id = cus.customer_number(+) 7 AND txn.batch_id = cus.batch_id(+) 8 AND txn.account_number = acc.id 9 AND acc.batch_id = '130609' 10 AND cus.batch_id(+) = '130609' 11 AND txn.batch_id = '130609' AND cus.target IN ('30'); Explained. SQL> select * from table(dbms_xplan.display); PLAN_TABLE_OUTPUT ------------------------------------------------------------------------------------------------------------- Plan hash value: 566819363 ------------------------------------------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes |TempSpc| Cost (%CPU)| Time | ------------------------------------------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 1 | 947 | | 16963 (1)| 00:03:24 | | 1 | NESTED LOOPS | | 1 | 947 | | 16963 (1)| 00:03:24 | |* 2 | HASH JOIN | | 41 | 26322 | 9136K| 16799 (1)| 00:03:22 | |* 3 | TABLE ACCESS BY INDEX ROWID| GTXN_DTL_V1 | 31055 | 8764K| | 2430 (1)| 00:00:30 | |* 4 | INDEX RANGE SCAN | GTXN_V1_BATCHID_NDX | 60524 | | | 156 (2)| 00:00:02 | |* 5 | TABLE ACCESS BY INDEX ROWID| GCUS_DTL_V1 | 176K| 59M| | 10869 (1)| 00:02:11 | |* 6 | INDEX RANGE SCAN | IDX_CUS2_V1 | 198K| | | 527 (2)| 00:00:07 | | 7 | TABLE ACCESS BY INDEX ROWID | GACC_DTL_V1 | 1 | 305 | | 4 (0)| 00:00:01 | |* 8 | INDEX RANGE SCAN | GACC_DTL_V1_IDX | 1 | | | 3 (0)| 00:00:01 | ------------------------------------------------------------------------------------------------------------- Predicate Information (identified by operation id): --------------------------------------------------- 2 - access("TXN"."CUSTOMER_ID"="CUS"."CUSTOMER_NUMBER" AND "TXN"."BATCH_ID"="CUS"."BATCH_ID") 3 - filter("TXN"."CUSTOMER_ID" IS NOT NULL) 4 - access("TXN"."BATCH_ID"='130609') 5 - filter("CUS"."TARGET"='30') 6 - access("CUS"."BATCH_ID"='130609') 8 - access("TXN"."ACCOUNT_NUMBER"="ACC"."ID" AND "ACC"."BATCH_ID"='130609') filter(SUBSTR("TXN"."ACCOUNT_NUMBER",1,3)=SUBSTR("ACC"."ID",1,3)) 26 rows selected.
Now all of a sudden from yesterday it gives different explain the plan below. Only difference in the query below is the value of batch_id
It shows two loops nested with cost 77, but works for hours. Very very slow.. No idea what's going on...SQL> explain plan for 2 SELECT * 3 FROM gacc_dtl_v1 acc, 4 gcus_dtl_v1 cus, 5 gtxn_dtl_v1 txn 6 WHERE txn.customer_id = cus.customer_number(+) 7 AND txn.batch_id = cus.batch_id(+) 8 AND txn.account_number = acc.id 9 AND acc.batch_id = '150609' 10 AND cus.batch_id(+) = '150609' 11 AND txn.batch_id = '150609' AND cus.target IN ('30'); Explained. SQL> select * from table(dbms_xplan.display); PLAN_TABLE_OUTPUT ------------------------------------------------------------------------------------------------------------ Plan hash value: 773603995 -------------------------------------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | -------------------------------------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 1 | 947 | 77 (0)| 00:00:01 | | 1 | NESTED LOOPS | | 1 | 947 | 77 (0)| 00:00:01 | | 2 | NESTED LOOPS | | 1 | 594 | 73 (0)| 00:00:01 | | 3 | TABLE ACCESS BY INDEX ROWID| GACC_DTL_V1 | 1 | 305 | 4 (0)| 00:00:01 | |* 4 | INDEX RANGE SCAN | GACC_DTL_BATCH_ID_INDX | 1 | | 3 (0)| 00:00:01 | |* 5 | TABLE ACCESS BY INDEX ROWID| GTXN_DTL_V1 | 1 | 289 | 69 (0)| 00:00:01 | |* 6 | INDEX RANGE SCAN | IDX_TXN2_V1 | 125 | | 12 (0)| 00:00:01 | |* 7 | TABLE ACCESS BY INDEX ROWID | GCUS_DTL_V1 | 1 | 353 | 4 (0)| 00:00:01 | |* 8 | INDEX RANGE SCAN | IDX_CUS3_V1 | 1 | | 3 (0)| 00:00:01 | -------------------------------------------------------------------------------------------------------- Predicate Information (identified by operation id): --------------------------------------------------- 4 - access("ACC"."BATCH_ID"='150609') 5 - filter("TXN"."CUSTOMER_ID" IS NOT NULL AND "TXN"."BATCH_ID"='150609') 6 - access("TXN"."ACCOUNT_NUMBER"="ACC"."ID") filter(SUBSTR("TXN"."ACCOUNT_NUMBER",1,3)=SUBSTR("ACC"."ID",1,3)) 7 - filter("CUS"."TARGET"='30') 8 - access("CUS"."BATCH_ID"='150609' AND "TXN"."CUSTOMER_ID"="CUS"."CUSTOMER_NUMBER") filter("TXN"."BATCH_ID"="CUS"."BATCH_ID") 26 rows selected.
We are also do not understand why the filter (SUBSTR ("TXN". ""»(, 1, 3) ACCOUNT_NUMBER = SUBSTR ("VAC". " ID", 1, 3)) is used in both queries.select i.table_name,i.index_name,index_type,c.column_name,c.column_position,e.column_expression from all_indexes i, all_ind_columns c,all_ind_expressions e where c.index_name = i.index_name and e.index_name(+) = i.index_name and i.table_name in ('GCUS_DTL_V1','GACC_DTL_V1','GTXN_DTL_V') order by 1,2,4 TABLE_NAME INDEX_NAME INDEX_TYPE COLUMN_NAME COLUMN_POSITION COLUMN_EXPRESSION -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- GACC_DTL_V1 GACC_DTL_BATCH_ID_INDX NORMAL BATCH_ID 1 GACC_DTL_V1 GACC_DTL_V1_IDX NORMAL BATCH_ID 2 GACC_DTL_V1 GACC_DTL_V1_IDX NORMAL ID 1 GACC_DTL_V1 GACC_DTL_V1_IDX2 FUNCTION-BASED NORMAL SYS_NC00101$ 1 SUBSTR("ID",1,3) GACC_DTL_V1 IDX_ACC1_V1 NORMAL CATEGORY 1 GACC_DTL_V1 IDX_ACC3_V1 FUNCTION-BASED NORMAL SYS_NC00099$ 1 "CUSTOMER_NUMBER"||'.'||"LIMIT_REF" GACC_DTL_V1 IDX_ACC4_V1 FUNCTION-BASED NORMAL SYS_NC00100$ 1 "CUSTOMER_NUMBER"||'.000'||"LIMIT_REF" GACC_DTL_V1 IDX_ACC5_V1 NORMAL POSTING_RESTRICT 1 GACC_DTL_V1 IDX_CUS5_V1 NORMAL CUSTOMER_NUMBER 1 GACC_DTL_V1 IDX_CUS6_V1 NORMAL LIMIT_REF 1 GCUS_DTL_V1 GCUS_DTL_V1_IDX1 NORMAL CUSTOMER_NUMBER 1 GCUS_DTL_V1 IDX_CUS2_V1 NORMAL BATCH_ID 1 GCUS_DTL_V1 IDX_CUS3_V1 NORMAL BATCH_ID 1 GCUS_DTL_V1 IDX_CUS3_V1 NORMAL CUSTOMER_NUMBER 2 GCUS_DTL_V1 IDX_CUS3_V1 NORMAL INDUSTRY 4 GCUS_DTL_V1 IDX_CUS3_V1 NORMAL SECTOR 3 GCUS_DTL_V1 IDX_CUS4_V1 FUNCTION-BASED NORMAL SYS_NC00078$ 1 SUBSTR("DATE_STAMP",1,6)
All tables are analyzed today.
Please share your thoughts on this.
Thanks in advance,
JacJac says:
L H NUM_BUCKETS LAST_ANALYZED SAMPLE_SIZE HISTOGRAM ------------------------------------------------------------------------------------------------------------------------------------------------ 010109 311208 235 13/Jun/2009 5,343 FREQUENCY
You have a histogram of frequencies on the BATCH_ID column missing at least 2 values according to your index statistics (235 buckets vs 237 separate keys).
If the value that you use in the query is missing then this could be the explanation for the estimation of cardinality bad (since you're on pre - 10.2.0.4. In 10.2.0.4 that this behavior changes).
The size of the sample of 5 300 lines is also very low, given the 57,000,000 lines according to the index statistics.
You have two options (which can be combined):
-Increase the size of the sample using a parameter explicitly estimate_percent, for example at least 10 percent
exec DBMS_STATS. GATHER_TABLE_STATS (null, 'GACC_DTL_V1', estimate_percent-online 10, method_opt => 'FOR COLUMNS SIZE 254 BATCH_ID,' waterfall-online fake)
-Get rid of the histogram
exec DBMS_STATS. GATHER_TABLE_STATS (null, 'GACC_DTL_V1', method_opt-online 'FOR BATCH_ID COLUMNS SIZE 1', cascade-online fake)
Note: Is there a particular reason why you store numbers in varchar columns? This might be the reason why Oracle believes that it must generate a histogram using the AUTO SIZE option.
I tend to promote to remove from the histogram, but you must first verify the data if the BATCH_ID values are spread out and the histogram is reasonable:
select batch_id , count(*) from gacc_dtl_v1 group by batch_id;
No constarints are at the DB level. All are processed Application level.
Have you checked this in DBA/ALL/USER_CONSTRAINTS?
It's also a good idea to have constraints at the level of the DB. It keeps your data consistent and quite often helps the optimizer. It allows even 10.2 and later to make things like the elimination of a join table that can make a huge difference in performance.
Kind regards
RandolfOracle related blog stuff:
http://Oracle-Randolf.blogspot.com/SQLTools ++ for Oracle (Open source Oracle GUI for Windows):
http://www.sqltools-plusplus.org:7676 /.
http://sourceforge.NET/projects/SQLT-pp/Published by: Randolf Geist on June 16, 2009 11:48
Comment added constraints
-
a sql id have more than explain the plan so I'd like to come up with plan used at runtime.
Hi all
In a sql oracle11g having id several explain the plan so I'd like to come up with plan used at runtime.
For example SQlID:-8yczg5zav14vt have 5 sql plan and I want to check that we execute at any time, please let me how I can check by sql queries
Concerning
Ranjeet
RanjeetSohale wrote:
I am ok for that but active only plans is right, but in accordance with the foregoing, two data line table in the table SQL V$ so both active and plan cost is high and the other is low.
Yes that's right cost is different, he means here another effective plan for oracle will analyze the declaration again and stored as new slider of the child. Especially since I explained that.
-
Hello world
could someone please provide me with details of explained the plan and I would appreciate some related details explain plan, trace and tkprof
Thank you
ShareefHello
PLAN of EXPLAINING is an Oracle utility that analyzes a statement and shows the expected execution plan. It may be different from the implementation plan real for a number of reasons.
Extended SQL trace (10046 event) is a way to gather advanced diagnostic information. There are different levels, at levels 8 and 12 provide the greatest level of detail (you will be able to see the events of waiting and the bind variable values).
TKProf is a utility that processes the raw trace files and makes shaped the output in a more readable way. However, some experts prefer to work with trace files "gross" - they are not so difficult to read, especially if you get some practice.
There are other events of tracing: 10053 allows you to see what is happening inside the Oracle optimizer, 10104 allows to see the stats of hash etc join.
Best regards
Nikolai -
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.
-
explain the plan against the eve...
I have a DDL which takes a long time to run on the primary
would like to know how long it takes if I switch to sleep mode and run education instead of the primary current standby... is possible to run explain sleep agasint plan without having to go through the whole process of switch?
I tried but the statement explain plan is a failure... Statement requires write Victorian for table plan and may not write in the plan table because db is not open... :) perhapts a new feature to implement in oracle 12g? :)
:)
v11.2.0.2
physical standbybe nice if we could run explains the plan for the system of relief through the primary system :) maybe in 12g?
do not know now. :)
-
Generation to EXPLAIN the PLAN on a database that is open in READ ONLY mode
Hello
I use the Oracle 10.2.0.3 version.
If my database is opened in READ ONLY mode, means that no insert/update/delete operations are allowed here.
During the generation of the PLAN to EXPLAIN this, the PLAN_TABLE registrations for any SQL. But my database is opened in READ ONLY mode, means that no inserts can happen.
So, how can I generate EXPLAIN PLAN for my SQL in this State?
Thanks in advance.
Best regards
oratestoratest wrote:
I use the Oracle 10.2.0.3 version.If my database is opened in READ ONLY mode, means that no insert/update/delete operations are allowed here.
During the generation of the PLAN to EXPLAIN this, the PLAN_TABLE registrations for any SQL. But my database is opened in READ ONLY mode, means that no inserts can happen.
So, how can I generate EXPLAIN PLAN for my SQL in this State?
You can always do: 'explain the plan in some_table@remote_database' to avoid inclusion in the local database. Unfortunately 10g added an extraction of the sequence of the code "explain plan", and that's where the call fails if you have tried this distant approach on your version.
Here's an idea that I have not tested. If you configure a link of data to your database from production to the database read-only, you could then do a "explain plan" in the database of production for the SQL statement by changing each object reference in the SQL statement to "object@readonlydatabase". In most cases this will allow the optimizer to recognize the statement as "entirely to distance" and get the optimizer on the readonly database to create the execution plan - which will be then written into the production database.
Concerning
Jonathan Lewis -
explain the plan of a query with variables
Trying to Explain plan at some sql code in sql * more. The query has a variable. How can I do this?
I look to explain the plan and dbms_xplan but did not find anything with variablesuse sqlplus variable bind:
SQL> --define variable SQL> var x varchar2 SQL> -- notice the colon prefixing the variable SQL> explain plan for select * from customer where cid = :x; Explained. SQL> select * from table( dbms_xplan.display ); PLAN_TABLE_OUTPUT ----------------------------------------------------------------------------------------------- Plan hash value: 1709312366 ---------------------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | ---------------------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 1 | 67 | 2 (0)| 00:00:01 | | 1 | TABLE ACCESS BY INDEX ROWID| CUSTOMER | 1 | 67 | 2 (0)| 00:00:01 | |* 2 | INDEX RANGE SCAN | CID | 1 | | 1 (0)| 00:00:01 | ---------------------------------------------------------------------------------------- Predicate Information (identified by operation id): --------------------------------------------------- 2 - access("CID"=:X) 14 rows selected.
the variable should not be set to explain the request, because explain does not actually run.
Published by: shoblock on November 6, 2008 16:51
-
why sometimes the trace file does not explain the plan?
Hello
Sometimes, when I 'alter session set sql_trace = true' and run some querys, some of them don't see explained the plan in the trace file?
I tried "alter system RAS shared_pool" before starting the trace, but not luck.
(Oracle 10g R2)
any ideas?
Thnks
Miguel
Published by: jmmnunes on Apr 27, 2010 18:01some of them don't watch not explain the plan in the trace file?
Log out of your session after you set the trace sql false?
All cursors must be closed to have access to all the information from the row source in the trace file.
-
Explain the interpretation of the Plan
Hi friends!
I ve an anomaly in time of response of two databases that are equal between the two when I run the same query.
On the first DB, when I run the query it takes 20 seconds, but on the second DB, the same query at 02:40 minutes.
This Don t of sense to me, because the first DB contains a lot of data as second DB...
I ve got the plan to explain both, but I Don t know how to interpret.
It's the first DB EP, which is the fastest to execute the query (20 "):
********************************************************************************************************************************************************************************************
SELECT STATEMENT CHOOSECost: 4 K bytes: 934 K cardinality: 4 K
ORDER of 17 SORTING BY cost: 4 K bytes: 934 K cardinality: 4 K
FILTER 16
13 LOOPS IMBRIQUEES SEMI cost: 4 K bytes: 934 K cardinality: 4 K
TABLE 11 ACCESS BY INDEX ROWID IMO. IDDPAR cost: 4 K bytes: 892 K cardinality: 4 K
BITMAP 10 ROWID CONVERSION
9 BITMAP AND
5 BITMAP OR
2 BITMAP CONVERSION TO ROWID
1 INDEX RANGE SCAN NON-UNIQUE IMO. IDDPARX10 Cost: 306
CONVERSION OF BITMAP ROWID 4
3 INDEX RANGE SCAN NON-UNIQUE IMO. IDDPARX10 Cost: 3
CONVERSION OF BITMAP TO 8 ROWID
7 SORT ORDER BY
6 INDEX RANGE SCAN NON-UNIQUE IMO. IDDPARX3 Cost: 455
12 INDEX UNIQUE SCAN UNIQUE IMO. PK_IDDPACX1 bytes: 670 K cardinality: 62 K
TABLE 15 ACCESS BY INDEX ROWID IMO. IDDPARE cost: 1 bytes: cardinality 1: 16
14 INDEX UNIQUE SCAN UNIQUE IMO. Cardinality of PK_IDDPAREX1: 1
********************************************************************************************************************************************************************************************
And it's the second DB, for the same query of course EP (2'40 "):
**********************************************************************************************************************************************************
SELECT STATEMENT CHOOSECost: 6 K bytes: 886 K cardinality: 4 K
7 FILTER
4 LOOPS IMBRIQUEES SEMI cost: 6 K bytes: 886 K cardinality: 4 K
TABLE 2 ACCESS BY INDEX ROWID IMO. IDDPAR cost: 6 K bytes: 850 K cardinality: 4 K
1 INDEX RANGE SCAN NON-UNIQUE IMO. IDDPARX5 cost: 298 cardinality: 11 K
UNIQUE 3 INDEX SCAN UNIQUE IMO. PK_IDDPACX1 bytes: 417KO cardinality: 43 K
TABLE 6 ACCESS BY INDEX ROWID IMO. IDDPARE cost: 1 bytes: cardinality 1: 16
5 INDEX UNIQUE SCAN UNIQUE IMO. Cardinality of PK_IDDPAREX1: 1
**********************************************************************************************************************************************************
As you can see, second EP is as simple, but its effectiveness is much poorer.
I m intends to interpret my experience with Plans to explain, but it is virtually zero. The most obvious difference I found is the BITMAP CONVERSION OF LINES and CONVERSION of bitmap to LINES Kael'thas appear in the first EP.
I searched ´ve documentation CONVERSION BITMAP and I ve include, more or less. But I Don t know what measures to take to optimizer are Oracle do the same conversion on the second EP.
I Don t pretend that someone to teach me everything on explains Plans for interpretation, I m aware of the track of this.
But would like advice on how I can solve this problem. Any suggestion will be welcome.
Thanks in advance
AlexTutor wrote:
All databases are Enterprise Edition.
And I ve already tried with advice like that of...
Okay - so now that you have shown us the request, can you show us EXACTLY what the real "index_combine" referring to the fact that you used looked like and tell us if the execution plan has changed at all with this suspicion.
Note: Oracle does not ignore the advice, so if your data structures are the same, and you have the right to hint, Oracle would HAVE to give you the plan you want. The only reason why he could not is if the presence of the indication caused Oracle to examine an alternative implementation plan which was (a) cheaper than suggested and (b) a plan which the index was illegal.
Concerning
Jonathan Lewis
-
Context-sensitive help for objects on the tabs (bug?)
If a command or the indicator is on a tab, the context-sensitive help for that apparently no longer works. It's particularly embarrassing for clusters of complicated example.
Is there a workaround I'm mising?
Example: This is the context for a cluster (A) and for the same cluster help when placed on a tab of the control (B). Case B is obviously completely useless.
Hi Altenbach,
It is true that it is not fixed for 2009. I checked the condition of the CAR and it does not just he makes to the 2009 version. It is always open and it looks like they still want to fix in the future, but no guarantee on which version.
-
I need help for activation of the real administrator account.
I have a problem with Adobe reader 9 standard, Adobe customer service asked the unhide real administrator account before you can continue to help me.
I need help for that.
http://www.Vistax64.com/tutorials/67567-administrator-account.html
Read the above info.
See you soon. Mick Murphy - Microsoft partner
-
Help for problems with the functionality of Capture from Adobe
Hello
I recently installed Adobe Capture on my Smartphone (Android device) and the app is very cool. However, after a few weeks of use, the software stops working. I uninstalled the software and reinstalled to see if that would help solve the problem. Unfortunately, it has not solved the problem. Adobe does not provide an over-the-phone technical support for this product, so I hope someone here can help.
Recreation of question:
When you start the application, there are four 4 functions:
- Colors
- Forms
- Brushes
- Looks like
In the lower right corner of the screen, we see a sign '+', which, depending on which function you select, invite the user to 1) select from the cloud or 3) take a new photo 2) select a picture in the camera. When you select an option, Adobe Capture executes the designated function and the State final changes / outputs on the picture are visible.
However, when you try to accept or to save changes / outputs, the screen seems to hang up and return to the initial splash screen.
Can provide you any assistance?
Thank you!
Jerry
Hi Jerry,
I'm really sorry that capture does not work as it should. This is a known issue in the app and the team is working on a beta version with a fix. I hope that it will be available before the end of the week, but I'm not totally sure of the timeline.
I know we'll get it on Adobe Android Apps - community - Google +, then join this page and you will be informed as soon as it is available.
A couple of other things:
It's an incredible description of the problem you are experiencing. Thank you very much for going into details so. It makes a huge difference when engineers are trying to understand what is happening.
If please post here or contact us through the app (tap on the draw icon, then give us Feedback) whenever you need help. Sometimes on the weekends, I'm a little slow, but during the week, I'm trying to reach people as quickly as possible.
I hope this helps.
Sue.
-
Help to explain the plan - 11 GR 2
11 GR 2, windows
An AWR reports. the following sql code is under 'SQL sort by elapsed time.
Select * from rator. History where account_id =: 'SYS_B_0' and create_date BETWEEN to_date (: "SYS_B_1,": "SYS_B_2")
AND to_date(:"SYS_B_3",:"SYS_B_4") +: «SYS_B_5» ORDER BY create_date desc;)
I have an index on the columns ID and create_date.
When I tried to get the plan of auotrace set traceonly, its application to bind the values of the variables. How to get plan for this sql and can change the plan by providing advice. ?
Thank youHello
Use dbms_xplan.display_awr to produce the plan of the explain command.
Best regards
Nikolai -
Question about cardinality (lines) to explain the plan
I have two tables (names have been changed to protect the innocent):
TABLE 1:
The Null columns? Type
-------------------- -------- ----------------------------------------------
Table1_Primary_Key NOT NULL NUMBER
more than 10 columns
TABLE2:
The Null columns? Type
-------------------- -------- ----------------------------------------------
Table2_Primary_Key NOT NULL NUMBER
more than 8 columns
Lines of table1 has 1097172
Rows of table2 has 160960
I am analysis request and get explain below:
SELECT t1. Table1_Primary_Key
--
FROM TABLE1 t1,
From TABLE2 T2
--
WHERE t1. Table1_Primary_Key = t1. Table1_Primary_Key
AND t2. Table2_Primary_Key = 3432798
/
------------------------------------------------------------------------------------------------
| ID | Operation | Name | Lines | Bytes | Cost (% CPU). Time |
------------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1. 21. 5 (0) | 00:00:01 |
| 1. NESTED LOOPS | | 1. 21. 5 (0) | 00:00:01 |
| 2. TABLE ACCESS BY INDEX ROWID | TABLE2. 1. 12. 3 (0) | 00:00:01 |
|* 3 | INDEX UNIQUE SCAN | TABLE2_PK | 1. | 2 (0) | 00:00:01 |
| 4. TABLE ACCESS BY INDEX ROWID | TABLE1. 1096K | 9634K | 2 (0) | 00:00:01 |
|* 5 | INDEX UNIQUE SCAN | TABLE1_PK | 1. | 1 (0) | 00:00:01 |
------------------------------------------------------------------------------------------------
As you can see it table2 is exactly 1 row and join table1 on a correspondence of single line.
My question is this:
Why the plan of the explain command seems (at least for me) to indicate that it looked like all the rows in TABLE1?
Thank you
Thomas
the optimizer's decisions are based on the object (and maybe system) statistics: so it's a good idea to provide as much information as possible in these statistics. Basically, there is nothing wrong with statistics automatic collection job - so I would count on that if I don't have very good reason to use anything else. Of course, there are some situations in which it's a good idea to add a few adjustions for automatic collection: sometimes, there is too much created histograms, sometimes there is too little (basically you have histograms when the distribution of the data is not yet). And if there are columns with correlated values who serve together in boundary conditions then create extensive statistics may be a good idea. To make these adjustions, you can use the routines of pref dbms_stats. And sometimes, it may even be a good idea is not to collect statistics for an object and use the sample dynamic (dynamic statistics) for more detailed information on the cardinality of distribution and join.
In the book of my opinion Jonathan Lewis cost base Oracle Fundamentals still contains the best explanation of the use of optimizer statistics - and Christian Antognini Oracle performance troubleshooting also provides a lot of valuable information about statistics and their gathering. Of course the documentation also explains the basics in detail: Managing optimizer statistics - 11 g Release 2 (11.2). And if you want to get a shorter summary, then you can always take a look at the Web of Tim Hall site: https://oracle-base.com/articles/misc/cost-based-optimizer-and-database-statistics.
Maybe you are looking for
-
Connection Bluetooth to Nokia 8800 Sirocco Edition
Help, please...I am trying to connect using bluetooth of my phone of Nokia 8800 Sirocco edition to my PC toshiba laptop Satellite Pro. It's PSM76E. I have Windows XP and I have already downloaded Nokia PC Suite, so it says that I need driver Toshiba
-
I forgot my secret question
-
Droid 4: Incorrect time stamp on received texts
Last week, my D4 was put incorrect timestamps on incoming text messages when using certain applications of text without share capital. All the texts received (regardless of the sender) are stamped 4 hours earlier when they were actually sent. Threade
-
El audio mi pc esta fallando not reproduce sonido el sistema me marca uno o varios archivos not be estan ejecutando, as devo hacer por nose como hacerle?
-
How to remove several items on the list of Favorites
delete several