H2 devide implicit and explicit created indexes by dictionary views?
For migrating amounts of data it is useful to drop and recreate indexes and referencing constaints. A implicit created index by defining a primary/unique key constraint will be dropped implicitly by dropping the before mentioned constraint. Creating such a constraint after creating an equivalent index with the constraint name will result in an other behaviour. The explicit created index will not be dropped by dropping the referencing primary/unique key constraint.
So far so good and well known. The question is: Which dictionary view columns will show me the difference between implicit and explict created indexes if I try to dynamically drop and recreate indexes and unique / primary key constraints?
Oracle Version is always helpful in answering questions, but for 9i you can find the system generated by:
dba_indexes.generated = 'Y'
or
'SYS_' naming convention for system generated indexes
or
dba_constraints.constraint_name = dba_constraints.index_name
Hope this helps - JTommaney
Similar Messages
-
Difference between Implicit and Explicit Cursors
Hi All,
Can you just tell me what is the difference between implicit and explicit cursor?
Thanks,
PadmaHi ,
Implicit Cursor means ,the cursors which are defined impplicitly.Here we use curosr variables as "SQL%found,sql%not found,sql%is open.."
but explicit cursors defined by us like if u create a cursor C1 then
c1%found,c1% not found ,c1%open
Thank you. -
How a procedure is compiled in oracle ? (implicit and explicit compilation)
how a procedure is compiled in oracle ? (implicit and explicit compilation)
When you create a proceudre oracle automatically compile and stored it. Use the following syntax to compile a procedure
ALTER PROCEDURE hr.remove_emp COMPILE;
Thanks -
What does "Implicit" and "Explicit" means????
-- after reading various Java books, articles, magazines, forums .... etc...
These two words: "Implicit" and "explicit" always appear on every text ...
-- Does implicit means "directly" and explicit means "indirectly"?
thanks-- after reading various Java books, articles,
magazines, forums .... etc...
These two words: "Implicit" and "explicit" always
ways appear on every text ...
-- Does implicit means "directly" and explicit
licit means "indirectly"?
thanks"implicit" means that something is executed that is not written in your code
"explicit" means that whatever is executed specifically exists in the code.
For instance: "a base class constructor implicitly calls super() if you don't explicitly call super yourself."
That means even though it is not written in the code, the line:
super();
will be executed unless you explictily include a call to super() yourself, such as:
super(10, 14.6, "some text"); -
Implicit and explicit Type conversion using Type object in heap
Hi,
I am surprised how Implicit and explicit Type conversion works using Type object in heap. for example when implicit type conversion occur what pointer it returns to object and similarly with explicit type conversion.Hello,
>> I am surprised how Implicit and explicit Type conversion works using Type object in heap.
For Implicit conversions: Typical examples are conversions from smaller to larger integral types, and conversions from derived classes to base classes. For the first one, the reference would be different which means it would return a different pointer to
a new object. For the reference type, it actually points to the same memory location, you could use the object.ReferenceEquals() to check it.
For Explicit conversions (casts):Typical examples include numeric conversion to a type that has less precision or a smaller range, and conversion of a base-class instance to a derived class. For first one, it would perform the same with implicit conversions.
While for the conversion of conversion of a base-class instance to a derived class, actually, there's no built-in way to do this conversion.
Regards.
We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
Click
HERE to participate the survey. -
What is the real time use of implicit and explicit cursors in pl/sql
what is the real time use of implicit and explicit cursors in pl/sql.............please tell me
You can check the following link ->
http://www.smart-soft.co.uk/Oracle/oracle-plsql-tutorial-part5.htm
But, i've a question ->
Are you student?
Regards.
Satyaki De. -
How can I create index in a view?
Dear all,
How can I create index in a view?
Best Regards,
AmyA view is a stored query. It gets executed at run time. A view does not occupy any physical space in the database (other than the insignificant amount of space required to store the query in the data dictionary).
A materialized view actually materializes the results of a query in a separate table structure, so it consumes physical space in the database. It also has to be refreshed at some interval, either synchronously with DML or asynchronously on a set interval.
Justin -
Implicit and Explicit Enhancement
Hi Gurus ,
Can anyone please let me know about what is implicit enhancement and explicit enhancement.Steps involved in the same .
Thanks ...
ashok...Hi
Implicit enhancement points are basically points within ABAP code where an enhancement point is implied, and in which case can be created. Examples of implicit enhancement points are at the beginning and end of FORMs, at the end of a program, include or function module etc. Below is a step by step demonstration of how to create and implicit enhancement point.
Explicit enhancement points are basically hooks already coded into the program by SAP at various points of the code. See program RIAUFMVK for examples of these! These are very easy to implement simply go into enhancement mode of SE80 and right click on the enhancement point where you want to add your code and choose Enhancement Implementation->Create Give it a name, description and assign it to a change request (should not be a Z package) and then simply add the code as normal
check the help
http://help.sap.com/saphelp_nw70/helpdata/en/94/9cdc40132a8531e10000000a1550b0/frameset.htm
Regards
anji -
Difference between Implicit and Explicit Commit
Hi All ,
Can some one pls let me know the difference between Implicit commit and Explicit Commit .
Thanks in Advance..>
Kalyan wrote:
> Hi,
>
> An explicit commit happens when we execute an SQL "commit" command.
>
> Implicit commits occur without running a commit command and occur only when certain SQL (DDL) statements are executed
>
> (Ie, INSERT,UPDATE OR DELETE Statements)
> >
> Hope this is clear & Helpful Short and Simple.
>
> Thanks
> Kalyan
Highlighted bit is incorrect. -
Performance issue with drop and re-create index
My database table has about 2 million records. The index in the table was not optmized, so we created a new index lets call it index2. So this table now was the original index (index1) and the index2. We then inserted data into this table from the other box. It was running for a few weeks.
Suddenly we noticed that a query which used to take a few seconds now took more than a minute. The execution plan was using the index2 which technically should be faster. We checked if the statistics were upto date and it was. So then we dropped the new index, re-ran the query and it completed in 10 sec's. It was usign the old index. This puzzled me since the point of the index2 was to make it better. So then we re-created index2 and genrated stats for the index. Re-ran the query and it completed in 5 sec's.
Everytime we timed to run the query, I shutdown and restarted the box to clear all cache's. So all the time I have specified are pure time's and not cached. The execution plan using index2 taking 1 min and 5 sec's are nearly the same, with very minior difference in cost and cardnitality. Any ideas why index2 took 1 min before and after drop and create again takes only 5 sec.
The reason I want to find the cause is to ensure that this doesn't happen again, since its impossible for me to re-create the index everytime I see this issue. Any thoughts would be helpful.Firstly the indexes are different index1 is only on the time column, where as index2 is a composite index consisting of 3 columns.
Here are the details. The test that I did were last friday, 3/31. Yesterday and today when I executed the same query I get more increased times, yesterday it took 9 sec amd today 17 sec. The stats job kicked in on both days and is upto date. This table, nothing gets deleted. Only added.
3/31
Original
Elapsed: 00:01:02.17
Execution Plan
0 SELECT STATEMENT Optimizer=CHOOSE (Cost=6553 Card=9240 Bytes
=203280)
1 0 SORT (UNIQUE) (Cost=6553 Card=9240 Bytes=203280)
2 1 INDEX (FULL SCAN) OF 'EVENT_NA_TIME_ETYPE' (NON-UNIQ
UE) (Cost=15982 Card=2306303 Bytes=50738666)
drop index EVENT_NA_TIME_ETYPE
Elapsed: 00:00:11.91
Execution Plan
0 SELECT STATEMENT Optimizer=CHOOSE (Cost=7792 Card=9275 Bytes
=204050)
1 0 SORT (UNIQUE) (Cost=7792 Card=9275 Bytes=204050)
2 1 TABLE ACCESS (BY INDEX ROWID) OF 'EVENT' (Cost=2092
Card=2284254 Bytes=50253588)
3 2 INDEX (RANGE SCAN) OF 'EVENT_TIME_NDX' (NON-UNIQUE
) (Cost=6740 Card=2284254)
create index EVENT_NA_TIME_ETYPE ON EVENT(NET_ADDRESS,TIME,EVENT_TYPE);
BEGIN
SYS.DBMS_STATS.GENERATE_STATS('USER','EVENT_NA_TIME_ETYPE',0);
end;
Elapsed: 00:00:05.14
Execution Plan
0 SELECT STATEMENT Optimizer=CHOOSE (Cost=6345 Card=9275 Bytes
=204050)
1 0 SORT (UNIQUE) (Cost=6345 Card=9275 Bytes=204050)
2 1 INDEX (FULL SCAN) OF 'EVENT_NA_TIME_ETYPE' (NON-UNIQ
UE) (Cost=12878 Card=2284254 Bytes=50253588)
4/3
Elapsed: 00:00:09.70
Execution Plan
0 SELECT STATEMENT Optimizer=CHOOSE (Cost=6596 Card=9316 Bytes
=204952)
1 0 SORT (UNIQUE) (Cost=6596 Card=9316 Bytes=204952)
2 1 INDEX (FULL SCAN) OF 'EVENT_NA_TIME_ETYPE' (NON-UNIQ
UE) (Cost=11696 Card=2409400 Bytes=53006800)
Statistics
0 recursive calls
0 db block gets
11933 consistent gets
9676 physical reads
724 redo size
467 bytes sent via SQL*Net to client
503 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
1 sorts (memory)
0 sorts (disk)
3 rows processed
4/4
Elapsed: 00:00:17.99
Execution Plan
0 SELECT STATEMENT Optimizer=CHOOSE (Cost=6681 Card=9421 Bytes
=207262)
1 0 SORT (UNIQUE) (Cost=6681 Card=9421 Bytes=207262)
2 1 INDEX (FULL SCAN) OF 'EVENT_NA_TIME_ETYPE' (NON-UNIQ
UE) (Cost=12110 Card=2433800 Bytes=53543600)
Statistics
0 recursive calls
0 db block gets
12279 consistent gets
9423 physical reads
2608 redo size
467 bytes sent via SQL*Net to client
503 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
1 sorts (memory)
0 sorts (disk)
3 rows processed
SQL> select index_name,clustering_factor,blevel,leaf_blocks,distinct_keys from u ser_indexes where index_name like 'EVENT%';
INDEX_NAME CLUSTERING_FACTOR BLEVEL LEAF_BLOCKS DISTINCT_KEYS
EVENT_NA_TIME_ETYPE 2393170 2 12108 2395545
EVENT_PK 32640 2 5313 2286158
EVENT_TIME_NDX 35673 2 7075 2394055 -
Can I create index on Materialized view log
Hello
The ADDM suggest me to create index on some fields of my materialized view log , I don't know does it cause any problem ? Is it safe ? have you done it before ?
thanksActually you can do it since materialized view log is in fact a table.
SQL> create table t(x int primary key);
Table created.
SQL> create materialized view log on t;
Materialized view log created.
SQL> select segment_name, segment_type from user_segments;
SEGMENT_NAME
SEGMENT_TYPE
MLOG$_T
TABLE
T
TABLE
SYS_C004857
INDEX
SQL> desc mlog$_t;
Name Null? Type
X NUMBER
SNAPTIME$$ DATE
DMLTYPE$$ VARCHAR2(1)
OLD_NEW$$ VARCHAR2(1)
CHANGE_VECTOR$$ RAW(255)
SQL> create index i on mlog$_t(x);
Index created.However I don't know if this is really supported and makes sense. -
hey guys...
the specifictaion says when you define a class final, all methods are implicity final as well and they may be inlined. that's cool but why does the compiler explicit store the information into the class file that a method is final when the class is already defined as final..ok sounds complicated.. here an example :
public final class Test {
public void test() {}
}here the method is implicit final.. and in the class file it is stored as specified.
but why does the class contain the unnecessary information (?!) that the method is final when defined as such.. i mean it is already implicity final! example:
public final class Test {
public final void test() {}hmm.. i was hoping someone else would throw out some input, but I can only guess that like I said before, it was an issue that was either not considered, or something that was considered to be an unnecessary step for the compiler.
I don't have a disassembler on hand to do any complex tests, but just out of curiosity, I ran a very simple one. I created a class with a whole lot of methods leaving the final as an implicit modifier and compiled. Then changed them all the be explicitly declared as final and compiled. The byte size of the output was identical, regardless of how many methods I added. I don't know that this is necessarily significant, but certainly raises some questions. -
Ref Cursor over Implicit and explicit cursors
Hi,
In my company when writing PL/SQL procedure, everyone uses "Ref Cursor",
But the article below, says Implicit is best , then Explicit and finally Ref Cursor..
[http://www.oracle-base.com/forums/viewtopic.php?f=2&t=10720]
I am bit confused by this, can any one help me to understand this?
ThanksSeshuGiri wrote:
In my company when writing PL/SQL procedure, everyone uses "Ref Cursor",
But the article below, says Implicit is best , then Explicit and finally Ref Cursor..
[http://www.oracle-base.com/forums/viewtopic.php?f=2&t=10720]
I am bit confused by this, can any one help me to understand this?There is performance and there is performance...
To explain. There is only a single type of cursor in Oracle - that is the cursor that is parsed and compiled by the SQL engine and stored in the database's shared pool. The "+client+" is then given a handle (called a SQL Statement Handle in many APIs) that it can use to reference that cursor in the SQL engine.
The performance of this cursor is not determined by the client. It is determined by the execution plan and how much executing that cursor cost ito server resources.
The client can be Java, Visual Basic, .Net - or a PL/SQL program. This client language (a client of SQL), has its own structures in dealing with that cursor handle received from the SQL engine.
It can hide it from the developer all together - so that he/she does not even see that there is a statement handle. This is what implicit cursors are in PL/SQL.
It can allow the developer to manually define the cursor structure - this is what explicit cursors, ref cursors, and DBMS_SQL cursors are in PL/SQL.
Each of these client cursor structures provides the programmer with a different set of features to deal with SQL cursor. Explicit cursor constructs in PL/SQL do not allow for the use of dynamic SQL. Ref cursors and DBMS_SQL cursors do. Ref cursors do not allow the programmer to determine, at run-time, the structure of the SQL projection of the cursor. DBMS_SQL cursors do.
Only ref cursors can be created in PL/SQL and then be handed over to another client (e.g. Java/VB) for processing. Etc.
So each of the client structures/interfaces provides you with a different feature set for SQL cursors.
Choosing implicit cursors for example does not make the SQL cursor go faster. The SQL engine does not know and does not care, what client construct you are using to deal with the SQL cursor handle it gave you. It does not matter. It does not impact its SQL cursor performance.
But on the client side, it can matter - as your code in dealing with that SQL cursor determines how fast your interaction with that SQL cursor is. How many context switches you make. How effectively you use and re-use the SQL (e.g. hard parsing vs soft parsing vs re-using the same cursor handle). Etc.
Is there any single client cursor construct that is better? No.
That is an ignorant view. The client language provides a toolbox, where each tool has a specific application. The knowledgeable developer will use the right tool for the job. The idiot developer will select one tool and use it as The Hammer to "solve" all the problems. -
Hi:
What is meant when a parameter or a cast etc. is referred as implicit?
What is meant when a parameter or a cast etc. is referred as explicit?
Thanks.implicit: Implied or understood though not directly expressed.
For instance:
Integer i = new Integer(42);
Object obj = i; // Implicit cast from Integer to Object
explicit: Fully and clearly expressed; leaving nothing implied.
For instance:
Object obj = new Integer(42);
Integer i = (Integer)obj; // Explicit cast from Object to Integer -
i want to know when to it is recommended to use the implicit cursors (for rec in .) and when it is recommended to use explicit cursors(open cursors .)
As Brett said, both methods require an explicit cursor definition. What is implicit in the FOR cursor loop is the opening and closing of the cursor. If you use a cursor FETCH loop, you need to code that explicitly yourself.
My recommendation is to use the cursor FETCH loop and code those two additional OPEN CURSOR and CLOSE CURSOR statements. Reason: a cursor fetch loop allows for proper bulk processing code to be used. It does not rely on the implicit bulk fetching (of 10 rows per time) of a FOR cursor loop - which btw is only available in 10G.
A FOR cursor loop does not scale. You cannot make the bulk fetching larger. Or smaller. You cannot do bulk updates or inserts in the loop.
So I do not care what the experts think and say, for me the answer is clear cut. You want to write scalable and performant code? You will use a cursor fetch loop. Not a for cursor loop.
Maybe you are looking for
-
I create about 25 -50 new bookmarks daily for my business. So, it would seem user friendly to put that command at the top of the scroll down list. Maybe I am unique and others want to "show all bookmarks" repeatedly. I can't understand why one would
-
Dear All, I am facing a problem with IDES system. When I start the SAP from MMC console in windows 2003 with oracle database (ECC 5.0) the dispatcher gets stopped immediately after it tries to start the work process. All the work process ends up and
-
After Upgrading my Iphone 6 to IOS 8.3, i can't download from appstore
After Upgrading my Iphone 6 to IOS 8.3, i can't download from appstore even after changing my password. shall i try anthing before reset the device??
-
Query from random number of schemas.
Dear All, I need to run a query for a given my_table at once from a number of schemas : SELECT * FROM my_schema1.my_table UNION ALL SELECT * FROM my_schema2.my_table And I need it to be a dynamic one, as I see another client asking for the same. Is t
-
Autofill Today's date as "d day of mmmm, yyyy"
I have a purchase contract I need to have auto-fill in the date. The line reads, "Made this ____ Day of ______, _______. Filled-out it would read, ""Made this __3__Day of July__, 2012. I currently have my form fill in other date fields formatted as