Creating index

How do i create indexes for the create table statement below?
CREATE table Position (PositionID number(20) not null, title nvarchar2(255), SkillSetID number(20),
TaskSetID number(20), filledByResumeID number(20), filledOnDate nvarchar2(40), description nvarchar2(700),
totalForceIntegratedMetric nvarchar2(255));
COMMENT on table Position is 'This is the main table of the Position model. It contains key elements of the position like the associated SkillSet, as well as what Sailor is filling the position.';
CREATE table financial (PositionID number(20) not null, ID number(20) not null, type nvarchar2(255),
title nvarchar2(255), value nvarchar2(255), code nvarchar2(255), startDate nvarchar2(40), endDate nvarchar2(40),
note nvarchar2(700));
COMMENT on table financial is 'This table specifies all the financial information relevant to the position and its associated jobs, including paygrade, bonuses, incentive pay.';
ALTER table financial add constraint FKfinancial922884 foreign key (PositionID) references Position;

How do i create indexes for the create table statement below?Index creation is mostly governed by the way you are going to query these tables. If you know in advance the record population criteria, you can create indexes as per your need.
Its not possible to point out how indexes should be created based on just the create table statements.
ALTER table financial add constraint FKfinancial922884 foreign key (PositionID) references Position; Does this statement really work? There are no primary or unique keys defined on Position table that can be referenced (well, at least from what you have posted here).

Similar Messages

  • Create Index to use Like Clause

    Hi All,
    I want one of my query to use a index which runs with a LIKE Clause. I have not done that before but i have heard and seen through forums that its possible to create indexes for a column with Like Clause using function based index.
    Function
    Request the forum users to achieve my objective. Let me list down what i have done.
    Function
    CREATE OR REPLACE FUNCTION RND_LIKE(P_NO IN VARCHAR2)
    RETURN VARCHAR2 IS
    RESULT VARCHAR2(240);
    BEGIN
    RETURN P_NO||'%';
    END RND_LIKE;
    SELECT ENAME FROM EMP WHERE ENAME LIKE RND_LIKE('A')
    Here based on this function i want to create a function based index and force the same to my query. Request the forum users to help me out in this.
    Thanks
    Edited by: ramarun on Dec 18, 2009 9:26 PM

    In the case you had there , Oracle would use an index on ename in a query if you were to type A% in the ename item on a Form. You wouldn't need a function index for that.
    Here's the link to the documentation to create a function based index http://download-uk.oracle.com/docs/cd/B28359_01/server.111/b28310/indexes003.htm#i1006674

  • What is the difference between creating index on cube and infopkg in PC

    Hi All
    I have process chain in which after executing infopkg(load data infopkg),creating index on cube i.e Object type is Cube ,for which execution time is 1 hour,then after (subsequent step ) again create index  at this time object type is "infopkg"
    execute infopkg for which time is 2 minnutes,what is the diffrence between these two,if i reome create index from cube i can save 1 hour time,I have to reveiew this
    chain for performance,plese post me your thoughts,it's argent,your help will be heighly appreciatable.Thanks in advance.
    regards
    EA

    By default once u use create index process type Object type has Infopackage - change it to Cube tech name.
    If its Cube - Indexes will be deleted or created for all the date in the cube.
    Message was edited by:
            Jr Roberto

  • REBUILD INDEX vs DROP/CREATE INDEX

    Hi there,
    Does anyone has already got some performance degradation after REBUILD INDEXes ? Would it be better to perform DROP/CREATE INDEX instead ?
    Thank you very much for anu reply.
    Best regards,
    Helena

    Hi,
    >>so is it then better to DROP/CREATE them ?
    Well, In fact I learned that when you rebuild an index, Oracle creates a new index from the old index and does not perform sorting while building the new index, which results in performance enhancement. In this case, depending of the size of your data it's necessary sufficient space on a tablespace for storing the old as well as the new index (while creating the new index). Other advantage, is that Oracle can use the old index for answering queries while it builds the new index too using [alter index <index_name> rebuild online].
    Cheers

  • 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

  • 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

  • IDES system copy ..error during IMPORT_ABAP..unable to create indexes

    Hi all,
    I am doing a IDES system copy. I ran the report SMIGR_CREATE_DLL , the export activities have been completed successfully as well on the source system. Now on the target system, during the import, I am getting the following error in the log file SAPDFACT.log.
    (DB) ERROR: DDL statement failed
    (CREATE  INDEX "/BI0/E0RSTT_C06~P" ON "/BI0/E0RSTT_C06" ( "KEY_0RSTT_C06P" , "KEY_0RSTT_C06T" , "KEY_0RSTT_C06U" , "KEY_0RSTT_C061" , "KEY_0RSTT_C062" , "KEY_0RSTT_C063" , "KEY_0RSTT_C064" , "KEY_0RSTT_C065" , "KEY_0RSTT_C066" , "KEY_0RSTT_C067" , "KEY_0RSTT_C068"  ) TABLESPACE PSAPSR3 STORAGE (INITIAL 65536 NEXT 0000002560K MINEXTENTS 0000000001 MAXEXTENTS 2147483645 PCTINCREASE 0 ) NOLOGGING COMPUTE STATISTICS )
    DbSlExecute: rc = 99
      (SQL error 1408)
      error message returned by DbSl:
    ORA-01408: such column list already indexed
    (DB) INFO: disconnected from DB
    The owner for this table is SAPSR3. Some oracle forums suggested to drop the index before recreating it. But when i do "drop index SAPSR3."/BI0/E0RSTT_C06~P..it says.."the specified index does not exist". But when I go to recreate this index, it doesn get created successfully. After that when I re-run the import, it again fails. Suprisingly..now if i go to check if this index is present thru a sql querry:
    select owner, object_name, object_type from dba_objects where object_name='SAPSR3."/BI0/E0RSTT_C06~P"', it tells "no rows selected". This is happening everytime, I create an index, where it gets created successfully, and the import again fails with the same error in SAPDFACT.log.
    I found an SAP note 885441 named..common errors during migration..although mine isnt a migration..my both source and destination are Red hat 64 bit platform.
    The note 1st asks to download the latest R3load..which I did and extracted in the kernel directory of the source..then it also asked to edit the .TSK file..in my case..SAPDFACT.TSK..where the lines:
    I /BIC/E<Cubename>~<index> C err
    to  I /BIC/E<Cubename>~<index> C ign..
    I did that..this time..the import again fails..but in the SAPDFACT.log..it complains about some other index..n the same gets generated in the .TSK file as well..the earlier index error is not again generated.
    I am not sure..what is going wrong..my export went through successfully.i have done the prep steps for export as well..before that i ran the SMIGR_CREATE_DLL report as well..
    Any inputs are highly appreciated..
    Thanks,
    Akshay

    Hi,
    Check SAP  Note 1166589 - Table converter: DB error when creating secondary indexes
    Thanks
    Sunny

  • How to create  index for a column of a view

    Hi,
    I have created view for a table and then i am trying to create index for a column of that view. i am using the query "CREATE INDEX index_name ON view_name (col)". but Mysql is showing error like "view_name is not a base table".
    How can i do that......

    As mentioned this is a java forum not a mysql forum, but as I know the answer - you can't create an index directly on a view in mysql.

  • How to create index not unique at the time of the CREATE TABLE

    Hi,
    I am trying to find out how in Oracle create secondary indexes that can accept duplicated into the CREATE TABLE statement, without have to execute a CREATE INDEX separately.
    As far I can see the only syntax accepted by Oracle 9i to create more than one index at the time of the table creation is:
    CREATE TABLE test_tab (x INTEGER, y INTEGER, z INTEGER PRIMARY KEY(x,y), UNIQUE(z))
    But, in my case I need to have the unicity only for the primary key, but not for the second index, that I would like to have not unique.
    How to do that inside of the CREATE TABLE statement?
    Any help?
    Thanks a lot in advance.

    To create an index automatically (not constraint related) , you will need to have an 'event' trigger on the schema that will (IE: detecting a table create/drop matching ARCHIVE_%) , generate the appropriate SQL required (create index sql) and pass THAT to a DBMS_JOB.
    Make sure you have job queue's enabled.
    This was the ONLY way that I could re-create a view automatically as new tables were created that matched a criteria IE ARCHIVE_JAN06, ARCHIVE_FEB06 etc.
    The application's "archiving" method created and was thus aware of these tables and permitted searching within 'archived' data, but 3rd party reporting applications needed to see a view encompassing all data, regardless of the tables involved. The view automatically created was a 'union_all' of all tables concerned.

  • Not able to create index for organization

    in transaction ses_admin, i created an index for business object BAS_BUPA of type 1,ie individual account.
    However, i am not able to create index for BAS_BUPA of type 2
    It says "No entry in table SIC_INDEX_MAIN for index object BAS_BUPA and index 2"

    hi,
    The index is for Business Partner, so it includes both Persons and Organizations. So, only one index needs to be created for both.
    The functioning is correct, just that i missed it.

  • Don't have primary Key in Target table getting errror while creating index

    Hi All,
    I don't have primary key column in target table, while exicuting mapping I got a error while creating INDEX.
    Could you please help how to slove this

    Hi,
    That is a process definition issue.
    If you don't have a PK then:
    1) or you don't execute updates
    2)or you have an alternate Key to update it.
    Case 1) just change the KM to IKM Control Append
    Case 2) at interface, go to each column what is Alternate Key and check it as key (click at column and check the box Key at bottom of propriety window).
    Does it work to you?

  • Process Chain error while creating index on cube

    Hi All,
    I have two process chain P1 daily(except sunday) and P2 weekly(sunday), both have same process, i.e. cube C1 is loaded with same infopackage in both infopackage.
    Now, on saturday after laoding the content index creating process on cube c1 is failed by process chain P1, but on sunday P2 have laoded C1 correctly and created indexes.
    Now, my doubt is wheather i repeat process chain P1 from creating indexes or there is no need as indexes on cube are created by PC 2.
    kindly suggest,
    Regards,
    Rajvinder

    Hi Raj,
    There is no need of running the process chain P1, the data has been bought by the process chain P2.
    If there are any filters/data selection in infopackage level then you need to run the process chain P1.
    Be make sure about the process chains and there infopackages/dtp's.
    With Regards,
    Ravi Kanth

  • Error while creating index on  ep 6.0 9 sr1   (trex 6.1).

    Hell o all,
        I am getting following error while creating index on  ep 6.0 9 sr1   (trex 6.1).
    Index could not be created; creating index failed: general configuration error (Errorcode 2030)
    can any on ehelp.
    thanks and regards
    Rajendra

    Hi,
    We are running TREX 6.1.09.00 on EP6.0.9.0.0 and KMC6.0.9.0.0.
    We are experiencing the same problems, even after changing the value in the .ini file as specified in NOTE 766197.
    After doing changes, I restarted the server after doing the changes.
    Alessandro, have you got any ideas for fixing this?
    Message was edited by: Bjorn Bjornstad

  • Create index in SQL using a variable

    Hello, need to programatically create an index in a SQL script using a variable for the tablespace name.
    VARIABLE ts_name VARCHAR2(50)
    BEGIN
    SELECT tablespace_name INTO :ts_name
    from user_indexes
    where TABLE_NAME = 'PREFERRED_CUSTOMER';
    end;
    How would I now issue a create index statement like the one below but substituting the tablespace name with the ts_name variable from above?
    CREATE UNIQUE INDEX XAK2PREFERRED_CUSTOMER ON FOCUS.PREFERRED_CUSTOMER (PREFERRED_CUST_NUM) TABLESPACE FOCUSPCIX;
    Thank you,
    David

    I am upgrading a customer database to unicode and I need to convert certain columns to NCHAR base. I am using an alter table command to do this. To make it fasted I need to drop indexes and recreate them at the end. Not all of our customers have used the default tablespace naming conventions so rather than having to change the script each time I was hoping to make the tablespace name portion of the create index DDL dynamic. Thank you,
    David

  • Configuration error while creating index in KM

    Hi KM Expets,
    I am getting the following error while creating a new index via System Adminstration > System Configuration > Knowledge Management > Index Adminstration.
    Index could not be created; creating index failed: Invalid entry in configuration: section nameserver, key address, value tcpip://<nameserverhost>:<nameserverport> is invalid (Errorcode 7213)
    I guess all the field values filled by me are correct, so not able to get the problem.
    Any suggestions/help ?
    Regards,
    Saurabh

    HI
    check this links:
    https://www.sdn.sap.com/irj/sdn/thread?messageID=551325
    https://forums.sdn.sap.com/thread.jspa?threadID=953575&messageID=5752406#5752406
    Hope this may help you.
    Thanks
    Hussain.

  • Error while creating index

    hi all,
    i got this error while creating index in portal.
    <b>Index could not be created; creating index failed: Invalid entry in configuration: section nameserver, key address, value tcpip://<nameserverhost>:<nameserverport> is invalid (Errorcode 7213)</b>
    it a little urgent any will be appreciated.
    thanks in advance
    Ranga

    Hi Ranga,
    Please follow http://help.sap.com/saphelp_nw04s/helpdata/en/c7/e0d13f7fb44c21e10000000a1550b0/frameset.htm
    Hope it helps
    Detlev
    PS: Please consider rewarding points for helpful answers on SDN. Thanks in advance!

Maybe you are looking for