Analyze tables after creating indexes

Hi all

I created new clues on the production environment, we must analyze tables after creating indexes. Why and what analysis do?

Thanks for the help.
Select * from V$version;

Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bi
PL/SQL Release 10.2.0.4.0 - Production
"CORE     10.2.0.4.0     Production"
TNS for HPUX: Version 10.2.0.4.0 - Production
NLSRTL Version 10.2.0.4.0 - Production

There are so many different options and you'll certainly want to tweak your stats based on your system.
The best thing to do is to read about dbms_stats:
http://download.Oracle.com/docs/CD/B19306_01/server.102/b14211/stats.htm#PFGRF30102
http://download.Oracle.com/docs/CD/B19306_01/AppDev.102/b14258/d_stats.htm#CIHEHDFB

Here are a few examples to give you an idea of what they look like and how to perform:

BEGIN
  DBMS_STATS.GATHER_TABLE_STATS(OWNNAME          => 'schema_name',
                                TABNAME          => 'table_name',
                                ESTIMATE_PERCENT => DBMS_STATS.AUTO_SAMPLE_SIZE, --> For really big tables oracle can just do a specific percent
                                METHOD_OPT       => 'for all columns size 1', --> Defines Histograms, size one disables histograms
                                DEGREE           => 12, --> The degree of parallelism so you'll see 12 parallel threads gathering stats
                                CASCADE          => TRUE); --> gather stats on the table's indexes also
END; 

BEGIN
  DBMS_STATS.GATHER_INDEX_STATS(OWNNAME          => 'schema_name',
                                INDNAME          => 'index_name',
                                ESTIMATE_PERCENT => 50,
                                DEGREE           => 4);
END; 

You can also do

DBMS_STATS.gather_schema_stats
DBMS_STATS.gather_database_stats

and much more...

I really want to focus on the need to do your homework on them,
read the docs I linked and adjust your statistical parameters to fit your db objects and how they are accessed/used.
Having accurate and meaningful statistics are very important to the performance of the database.

Tags: Database

Similar Questions

  • Statistics updated after creating indexes

    Hello

    Version: 11g

    Oracle will update statistics after the creation or modification of index?

    Thank you.

    Yes, when automatic CBO stat collection runs.

    I usually deliver a

    ALTER INDEX  COMPUTE STATISTICS;
    

    After the index created.

  • Form on a Table with report - change of the source table after created form

    Hi all

    I have a 'form on a Table' where the various fields have the "Source Type" = "column of the database. I have 2 Questions for this type of shape:

    1: in the field "Source value or expression", it is possible to change the name of the field in the Table. But I can't understand how view or even change the underlying Table (which had to be chosen at the beginning, when the form was created at the start).

    2: my question in section that relates to the first question would be, if it is possible to have multiple underlying tables in the same region. Or whether it would be necessary to create a second region or change the "Column of the database" type in a type of SQL query?

    Thank you and best regards,

    David

    To change the table, you need to change the process of the page. A process has been generated called:

    Extraction of line of

    Here, you can modify the table, but you also have to make in your shipment after processes. Who are probably named:

    ApplyMRD and ApplyMRU

    If you want a form to be based on more than one table, you can create a view and base your form on this point of view instead of on the table, or you need customized treatment.

  • Cannot create indexes on the flow table

    Hello

    I'm new to ODI.

    The problem is that during the execution of an interface, I get the error of the "IKM Oracle Dimension to slow variation"

    The command in step "Create unique index on the flow table:

    creating index < % = odiRef.getTable ("L", "INT_NAME", "A") % > idx

    on < % = odiRef.getTable ("L", "INT_NAME", "A") % > (< % = odiRef.getColList ("", "[column]", ",", "", "SCD_NK") % >)

    < % = odiRef.getUserExit ("FLOW_TABLE_OPTIONS") % >

    generate the following statement which lacks the name of the column between the (_)

    Create index I$ _MYTABLE_idx

    I have $_MYTABLE)

    NOLOGGING

    The result is that the interface fails with the error 936: 42000: java.sql.SQLException: ORA-00936: lack of expression caused by the previous command wrong.

    Please, can you help me?

    Thank you very much

    Angelo

    Hello

    I'm really really sorry! I just realized that you are working on the SCD. Basically, you are looking for all the column mapped as SCD_NK (key to slowly change natural Dimensions) insofar as shown here

    Substitution QAnywhere

    IF you need to read this

    SCD Type 2 - ODIExperts.com

    Let me know.

  • When creating index table lock?

    Hello

    My db is oracle10g. My database is OLTP system. I wanted to create the index on one of the table. The table has 200 million recordings.

    It locks the whole when table I create index? I think, its impact on the regular operations of the database when creating the index?

    Any help is appreciated...

    Hello

    You have Enterprise Edition? If so, the online option is available.

    So you can do:

    create index my_new_index on my_tab(col1,col2) online;
    

    or:

    alter index my_existing_index rebuild online;
    

    If you are not using the online option, then Yes, the table will be locked for updates, all traffic OLTP will serialize buttocks the index maintenance operation.

    Hope that helps,

    -Mark

  • ODI 12 c: do I have to reimport the target tables after that I did some clues on them

    Hello

    I created a map after import target tables in my ODI 12 C studio. The mapping is complete and it works without any errors. Now I intend to create some clues that I have an obligation to report. SO, I have to reimport these after creating indexes.

    Thank you

    SM

    Hello

    Here's the thing. The indexes that you created, if you plan to use as a unique index, or as your key to updating ODI you can go ahead and add the template manually in or hit the table again. However, if these indices are purely to make your report more quickly and will have no impact on you data loading then it is pointless to ODI. In the future when you make changes to the table and refresh it in ODI indexes will be added automatically.

    Thank you

    Ajay

  • Analyze the table after loading

    Hi gurus

    Let me know how we analyze the target table after loading to finish using an interface.

    Concerning
    Sree

    Hi Mary,

    There are two ways to do it,

    1. customize your IKM own target of Analyze table step added.

    2. create a procedure of ODI which will analyze the target table and can be called after the success of the loading data.

    Thank you
    Guru

  • Creating indexes for the table

    can someone help me how to create indexes in the table. I m creating own table... I need to select a particular field in the table. So I need to calculate the index position. I use my code like this,

    This will returnthe number of columns in the table.

    Class array

    {

    private int Table_Index()
    {
    for (int x = 0; x)<>
    {
    table_index = x;
    }
    Return table_index;
    }

    }

    MainClass can I get this length of Index

    Table T1;

    int t1 is T1. Table_Index();

    This property returns my length (4) of table column

    Using this index (t1) I HAV to see what position I'm at table now...

    someone help me...

    You can use a listfield, he supports methods to get the selected row and its contents.

  • Why I can't create indexes on the table of RDF data

    When I tried to create indexes on the table of RDF data, it always say the table or view does not exist. I created the RDF model using java codes:

    Oracle Oracle = new Oracle ("jdbc:oracle:thin:@localhost:1521:orcl", "system", "123");

    Chart GraphOracleSem = new GraphOracleSem (oracle, "test2");


    And used the following commands in sqlplus to create indexes:

    SQL >

    SELECT THE SEPARATE OWNER, OBJECT_NAME

    FROM DBA_OBJECTS

    WHERE TYPE_OBJET = 'TABLE '.

    4. AND OBJECT_NAME like ' % TEST2;

    OWNER

    --------------------------------------------------------------------------------

    OBJECT_NAME

    --------------------------------------------------------------------------------

    SYSTEM

    TEST2_NS

    SYSTEM

    RDFB_TEST2

    SYSTEM

    TEST2_TPL

    OWNER

    --------------------------------------------------------------------------------

    OBJECT_NAME

    --------------------------------------------------------------------------------

    SYSTEM

    RDFC_TEST2


    SQL > connect as sysdba

    Enter the password:

    Connected.

    SQL >

    SQL >

    SQL > select * from TEST2_TPL;

    Select * from TEST2_TPL

    *

    ERROR on line 1:

    ORA-00942: table or view does not exist

    SQL > CREATE INDEX test2_sub_idx ON TEST2_TPL (triple. GET_SUBJECT());

    CREATE INDEX test2_sub_idx ON TEST2_TPL (triple. GET_SUBJECT())

    *

    ERROR on line 1:

    ORA-00942: table or view does not exist

    Hi Shifu,

    It is not recommended to use the SYS or SYSTEM to store/manage schema graph RDF data.

    Can you please try the following in a SQL * more terminal?

    SQL > conn system/eu1

    Connected.

    SQL >

    SQL >

    SQL > create user graphuser identified by graphuser;

    Created by the user.

    SQL > grant connect, resources, unlimited tablespace to graphuser;

    Grant succeeded.

    SQL > conn graphuser/graphuser

    Connected.

    SQL > create table graph_tpl (triple sdo_rdf_triple_s) compress;

    Table created.

    SQL > sem_apis.create_sem_model exec ('graphic', 'graph_tpl', 'three');

    PL/SQL procedure successfully completed.

    SQL > insert into graph_tpl values (sdo_rdf_triple_s ('graph', '', '', ''));

    1 line of creation.

    SQL > select count (1) in the mdsys.rdfm_graph;

    1

    You see the same result?

    Thank you

    Zhe Wu

  • Why create indexes use non-temporary tables?

    Looking into creating this index R-Tree, I noticed that all the staging tables are created as permanent instead of temporary tables.

    Why create a land index do this?

    Create the staging tables as temporary tables should reduce significant global creation time - what I'm missing here?

    Bryan

    Temporary tables are session-private. In other words, the different parallel slaves

    sessions may not see the same temporary tables.

  • How to create indexes on the ordered collection of XMLTYPE table?

    I use Oracle 11.2.0.2.

    Basically, my XML documents have a 3-level hierarchy:

    event

    + - action [1: n]

    + - param [1: n]

    I try to create indexes on the tables of the orderly collection, but cannot get the right syntax...

    I created a table with an XMLType object-relational column:

    CREATE TABLE T_C_RMP_MNTRNG_XML_FULL_IL4 (
      MESSAGE_ID NUMBER(22,0) NOT NULL ENABLE,
      XML_EVAL_ID NUMBER(22,0),
      VIN7 VARCHAR2(7 BYTE),
      FLEET_ID VARCHAR2(50 BYTE),
      CSC_SW_VERSION VARCHAR2(100 BYTE),
      RECEIVED DATE,
      XML_CONTENT SYS.XMLTYPE ,
      DWH_LM_TS_UTC DATE NOT NULL ENABLE,
      CONSTRAINT PK_C_RMP_MNTRNG_XML_FULL_IL4 PRIMARY KEY (MESSAGE_ID)
    ) NOLOGGING TABLESPACE CATALOG
    VARRAY "XML_CONTENT"."XMLDATA"."action" STORE AS TABLE "T_OR_MON_ACTION" (
      NOLOGGING TABLESPACE "CATALOG"
      VARRAY "param" STORE AS TABLE "T_OR_MON_ACTION_PARAM" (
      NOLOGGING TABLESPACE "CATALOG"
      ) RETURN AS LOCATOR
    ) RETURN AS LOCATOR
    XMLTYPE XML_CONTENT STORE AS OBJECT RELATIONAL XMLSCHEMA "http://mydomain.com/cs.xsd" ELEMENT "monitoring";
    
    
    
    
    

    I execute the SELECT statement:

    SELECT EVENT_ID, ACTION_SUB_ID, MESSAGE_ID, ACTION_TYPE, UNIXTS_TO_DATE(ACTION_TIMESTAMP) ACTION_TIMESTAMP
    FROM T_C_RMP_MNTRNG_XML_FULL_IL4, 
    XMLTABLE( 
      'for $i1 in /monitoring , 
      $i2 in $i1/action            
      return element r {              
      $i1/eventId,              
      $i2            
      }' 
      PASSING XML_CONTENT COLUMNS 
      EVENT_ID VARCHAR(40) PATH 'eventId', 
      ACTION_SUB_ID INTEGER PATH 'action/actionSubId', 
      ACTION_TYPE VARCHAR2(100) PATH 'action/type', 
      ACTION_TIMESTAMP NUMBER(13,0) PATH 'action/time' 
    ) T2 
    WHERE ( 
      EVENT_ID IS NOT NULL AND ACTION_SUB_ID IS NOT NULL 
    )
    
    
    
    
    

    The plan of the explain command looks like this (sorry, don't know how to get it formatted any 'eye-team'):

    ----------------------------------------------------------------------------------------------------------

    | ID | Operation | Name                        | Lines | Bytes | TempSpc | Cost (% CPU). Time |

    ----------------------------------------------------------------------------------------------------------

    |   0 | SELECT STATEMENT |                             |  1609K |  6316M |       |  6110K (1) | 20:22:11 |

    |*  1 |  HASH JOIN |                             |  1609K |  6316M |   111 M |  6110K (1) | 20:22:11 |

    |   2.   TABLE ACCESS FULL | T_C_RMP_MNTRNG_XML_FULL_IL4 |   582K |   104 M |       |  5241 (1) | 00:01:03 |

    |*  3 |   TABLE ACCESS FULL | T_OR_MON_ACTION |    32 M |   117G |       |   105K (2) | 00:21:08 |

    ----------------------------------------------------------------------------------------------------------

    Information of predicates (identified by the operation identity card):

    ---------------------------------------------------

    1 - access ("NESTED_TABLE_ID"= "T_C_RMP_MNTRNG_XML_FULL_IL4"." ("SYS_NC0001300014$")

    filter (CAST (SYS_XQ_UPKXML2SQL (SYS_XQEXVAL (SYS_XQEXTRACT ((SYS_XMLGEN ("T_C_RMP_MNTRN XMLCONCAT

    G_XML_FULL_IL4 ". "" $ SYS_NC00017 ", NULL, SYS_XMLCONV ("T_C_RMP_MNTRNG_XML_FULL_IL4". "SYS_NC00012$", 0.32,

    (('EC1EEF23FD023A27E04032A06D930A8D', 3, 3783, 1)), SYS_MAKEXML ('EC1EEF23FD023A27E04032A06D930A8D', 3780,

    'T_C_RMP_MNTRNG_XML_FULL_IL4 '. "' SYS_NC00008$ ', 'SYS_ALIAS_0 '. ((("' SYS_NC_ROWINFO$ ')),'/ ID ', NULL), 0,.

    0,20971520,0), 50.1, 2) AS VARCHAR (40)) IS NOT NULL)

    3 filter (CAST (TO_NUMBER (TO_CHAR ("SYS_ALIAS_0". "actionSubId")) AS INTEGER) IS NOT NULL) "

    Note

    -----

    -dynamic sample used for this survey (level = 2)

    -Construction detected no optimized XML (activate XMLOptimizationCheck for more information)

    The XML schema looks like this:

    <?xml version="1.0" encoding="UTF-8"?>
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" xmlns:oraxdb="http://xmlns.oracle.com/xdb" oraxdb:storeVarrayAsTable="true" oraxdb:flags="2105639" oraxdb:schemaURL="http://mydomain.com/cs.xsd" oraxdb:schemaOwner="MYUSER" oraxdb:numProps="23">
      <xs:element name="monitoring" oraxdb:propNumber="3785" oraxdb:global="true" oraxdb:SQLName="monitoring" oraxdb:SQLType="monitoring755_T" oraxdb:SQLSchema="MYUSER" oraxdb:memType="258" oraxdb:defaultTable="monitoring757_TAB" oraxdb:defaultTableSchema="MYUSER">
        <xs:complexType oraxdb:SQLType="monitoring755_T" oraxdb:SQLSchema="MYUSER">
          <xs:sequence>
            <xs:element maxOccurs="unbounded" ref="action" oraxdb:propNumber="3780" oraxdb:global="false" oraxdb:SQLName="action" oraxdb:SQLType="action752_T" oraxdb:SQLSchema="MYUSER" oraxdb:memType="258" oraxdb:MemInline="false" oraxdb:SQLInline="true" oraxdb:JavaInline="false" oraxdb:SQLCollType="action756_COLL" oraxdb:SQLCollSchema="MYUSER"/>
            <xs:element ref="reservationType" oraxdb:propNumber="3781" oraxdb:global="false" oraxdb:SQLName="reservationType" oraxdb:SQLType="VARCHAR2" oraxdb:memType="1" oraxdb:MemInline="false" oraxdb:SQLInline="true" oraxdb:JavaInline="false"/>
            <xs:element ref="softwareVersion" oraxdb:propNumber="3782" oraxdb:global="false" oraxdb:SQLName="softwareVersion" oraxdb:SQLType="VARCHAR2" oraxdb:memType="1" oraxdb:MemInline="false" oraxdb:SQLInline="true" oraxdb:JavaInline="false"/>
            <xs:element ref="eventId" oraxdb:propNumber="3783" oraxdb:global="false" oraxdb:SQLName="eventId" oraxdb:SQLType="VARCHAR2" oraxdb:memType="1" oraxdb:MemInline="false" oraxdb:SQLInline="true" oraxdb:JavaInline="false"/>
            <xs:element ref="vin" oraxdb:propNumber="3784" oraxdb:global="false" oraxdb:SQLName="vin" oraxdb:SQLType="VARCHAR2" oraxdb:memType="1" oraxdb:MemInline="false" oraxdb:SQLInline="true" oraxdb:JavaInline="false"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="action" oraxdb:propNumber="3790" oraxdb:global="true" oraxdb:SQLName="action" oraxdb:SQLType="action752_T" oraxdb:SQLSchema="MYUSER" oraxdb:memType="258" oraxdb:defaultTable="action754_TAB" oraxdb:defaultTableSchema="MYUSER">
        <xs:complexType oraxdb:SQLType="action752_T" oraxdb:SQLSchema="MYUSER">
          <xs:sequence>
            <xs:element ref="type" oraxdb:propNumber="3786" oraxdb:global="false" oraxdb:SQLName="type" oraxdb:SQLType="VARCHAR2" oraxdb:memType="1" oraxdb:MemInline="false" oraxdb:SQLInline="true" oraxdb:JavaInline="false"/>
            <xs:element maxOccurs="unbounded" ref="param" oraxdb:propNumber="3787" oraxdb:global="false" oraxdb:SQLName="param" oraxdb:SQLType="param749_T" oraxdb:SQLSchema="MYUSER" oraxdb:memType="258" oraxdb:MemInline="false" oraxdb:SQLInline="true" oraxdb:JavaInline="false" oraxdb:SQLCollType="param753_COLL" oraxdb:SQLCollSchema="MYUSER"/>
            <xs:element ref="actionSubId" oraxdb:propNumber="3788" oraxdb:global="false" oraxdb:SQLName="actionSubId" oraxdb:SQLType="NUMBER" oraxdb:memType="2" oraxdb:MemInline="false" oraxdb:SQLInline="true" oraxdb:JavaInline="false"/>
            <xs:element ref="time" oraxdb:propNumber="3789" oraxdb:global="false" oraxdb:SQLName="time" oraxdb:SQLType="NUMBER" oraxdb:memType="2" oraxdb:MemInline="false" oraxdb:SQLInline="true" oraxdb:JavaInline="false"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="type" type="xs:string" oraxdb:propNumber="3791" oraxdb:global="true" oraxdb:SQLName="type" oraxdb:SQLType="VARCHAR2" oraxdb:memType="1" oraxdb:defaultTable="type751_TAB" oraxdb:defaultTableSchema="MYUSER"/>
      <xs:element name="param" oraxdb:propNumber="3794" oraxdb:global="true" oraxdb:SQLName="param" oraxdb:SQLType="param749_T" oraxdb:SQLSchema="MYUSER" oraxdb:memType="258" oraxdb:defaultTable="param750_TAB" oraxdb:defaultTableSchema="MYUSER">
        <xs:complexType oraxdb:SQLType="param749_T" oraxdb:SQLSchema="MYUSER">
          <xs:sequence>
            <xs:element minOccurs="0" ref="value" oraxdb:propNumber="3792" oraxdb:global="false" oraxdb:SQLName="value" oraxdb:SQLType="VARCHAR2" oraxdb:memType="1" oraxdb:MemInline="false" oraxdb:SQLInline="true" oraxdb:JavaInline="false"/>
            <xs:element ref="key" oraxdb:propNumber="3793" oraxdb:global="false" oraxdb:SQLName="key" oraxdb:SQLType="VARCHAR2" oraxdb:memType="1" oraxdb:MemInline="false" oraxdb:SQLInline="true" oraxdb:JavaInline="false"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="value" type="xs:string" oraxdb:propNumber="3795" oraxdb:global="true" oraxdb:SQLName="value" oraxdb:SQLType="VARCHAR2" oraxdb:memType="1" oraxdb:defaultTable="value748_TAB" oraxdb:defaultTableSchema="MYUSER"/>
      <xs:element name="key" type="xs:string" oraxdb:propNumber="3796" oraxdb:global="true" oraxdb:SQLName="key" oraxdb:SQLType="VARCHAR2" oraxdb:memType="1" oraxdb:defaultTable="key747_TAB" oraxdb:defaultTableSchema="MYUSER"/>
      <xs:element name="actionSubId" type="xs:integer" oraxdb:propNumber="3797" oraxdb:global="true" oraxdb:SQLName="actionSubId" oraxdb:SQLType="NUMBER" oraxdb:memType="2" oraxdb:defaultTable="actionSubId746_TAB" oraxdb:defaultTableSchema="MYUSER"/>
      <xs:element name="time" type="xs:integer" oraxdb:propNumber="3798" oraxdb:global="true" oraxdb:SQLName="time" oraxdb:SQLType="NUMBER" oraxdb:memType="2" oraxdb:defaultTable="time745_TAB" oraxdb:defaultTableSchema="MYUSER"/>
      <xs:element name="reservationType" type="xs:string" oraxdb:propNumber="3799" oraxdb:global="true" oraxdb:SQLName="reservationType" oraxdb:SQLType="VARCHAR2" oraxdb:memType="1" oraxdb:defaultTable="reservationType744_TAB" oraxdb:defaultTableSchema="MYUSER"/>
      <xs:element name="softwareVersion" type="xs:string" oraxdb:propNumber="3800" oraxdb:global="true" oraxdb:SQLName="softwareVersion" oraxdb:SQLType="VARCHAR2" oraxdb:memType="1" oraxdb:defaultTable="softwareVersion743_TAB" oraxdb:defaultTableSchema="MYUSER"/>
      <xs:element name="eventId" type="xs:string" oraxdb:propNumber="3801" oraxdb:global="true" oraxdb:SQLName="eventId" oraxdb:SQLType="VARCHAR2" oraxdb:memType="1" oraxdb:defaultTable="eventId742_TAB" oraxdb:defaultTableSchema="MYUSER"/>
      <xs:element name="vin" type="xs:string" oraxdb:propNumber="3802" oraxdb:global="true" oraxdb:SQLName="vin" oraxdb:SQLType="VARCHAR2" oraxdb:memType="1" oraxdb:defaultTable="vin741_TAB" oraxdb:defaultTableSchema="MYUSER"/>
    </xs:schema>
    
    
    
    
    

    How can I create an index on these tables of the ordered collection to improve performance?

    I found the example at http://docs.Oracle.com/CD/E11882_01/AppDev.112/e23094/xdb_rewrite.htm#ADXDB5859 but am not able to apply to this particular case...

    Thank you in advance...

    If the schema is not annotated and XS: Integer and XS: String are mapped to types of data NUMBER and VARCHAR2 (4000), so you must use in your query to avoid typecasting unnecessary operations.

    You must also use XMLTABLEs chained when accessing a parent/child instead of a FLWOR expression relationship, otherwise the CBO cannot rewrite the XQuery query correctly (maybe it's fixed in the latest version).

    If you make these changes, the plan should show the cleaner predicates:

    SQL > SELECT EVENT_ID, MESSAGE_ID, ACTION_TYPE, ACTION_SUB_ID, ACTION_TIMESTAMP

    2 FROM test_table

    3 XMLTABLE ('/ monitoring ')

    4 COLUMNS XML_CONTENT OF PASSAGE

    5 WAY of VARCHAR2 (4000) EVENT_ID "ID."

    6 actions for XMLTYPE PATH 'action '.

    (7) T1,

    8 XMLTABLE ('/ action')

    Shares of PASSAGE 9 COLUMNS

    NUMBER of ACTION_SUB_ID 10 PATH "actionSubId."

    11 PATH of VARCHAR2 (4000) ACTION_TYPE "type."

    12 WAY of NUMBER ACTION_TIMESTAMP 'time '.

    (13) T2

    14 WHERE EVENT_ID IS NOT NULL

    15 AND ACTION_SUB_ID IS NOT NULL

    16;

    Execution plan

    ----------------------------------------------------------

    Hash value of plan: 1763884463

    ------------------------------------------------------------------------------------------------

    | ID | Operation | Name | Lines | Bytes | Cost (% CPU). Time |

    ------------------------------------------------------------------------------------------------

    |   0 | SELECT STATEMENT |                 |   109.   220K |     6 (17). 00:00:01 |

    |   1.  THE MERGE JOIN.                 |   109.   220K |     6 (17). 00:00:01 |

    |*  2 |   TABLE ACCESS BY INDEX ROWID | TEST_TABLE |    11.   352.     2 (0) | 00:00:01 |

    |   3.    INDEX SCAN FULL | SYS_C007567 |    11.       |     1 (0) | 00:00:01 |

    |*  4 |   JOIN TYPE.                 |   109.   216K |     4 (25) | 00:00:01 |

    |*  5 |    TABLE ACCESS FULL | T_OR_MON_ACTION |   106 S 216K |     3 (0) | 00:00:01 |

    ------------------------------------------------------------------------------------------------

    Information of predicates (identified by the operation identity card):

    ---------------------------------------------------

    2 - filter("TEST_TABLE".") (' SYS_NC00012$ ' IS NOT NULL)

    4 - access("SYS_ALIAS_0".") NESTED_TABLE_ID "=" TABLE_TEST. " ("' SYS_NC0000800009$ ')

    filter ("SYS_ALIAS_0". "NESTED_TABLE_ID"="TABLE_TEST" "." " ("SYS_NC0000800009$")

    5 - filter("SYS_ALIAS_0"." actionSubId» IS NOT NULL)

    Note

    -----

    -dynamic sample used for this survey (level = 2)

    Now, if it is still necessary, everything boils down to choosing a technique for index NULL values:

    -composite index with a column not zero or constant

    -FBI

    -bitmap image

    Choose the one that best fits your data, the selectivity and activity on the tables.

  • cost after and before creating indexes

    Hello
    sql_advisor gives me the following Plan explain before and after the creation of the index. But in the new explain plan CPU % is equal to zero.

    How is that possible?
    I understand the plan to explain it wrongly?
    1- Original                                                     
    -----------                                                     
    Plan hash value: 1851261115                                     
                                                                    
    -------------------------------------------------------------------------------------                                                                                                          
    | Id  | Operation         | Name            | Rows  | Bytes | Cost (%CPU)| Time     |                                                                                                          
    -------------------------------------------------------------------------------------                                                                                                          
    |   0 | SELECT STATEMENT  |                 |     1 |    47 |     3   (0)| 00:00:01 |                                                                                                          
    |*  1 |  TABLE ACCESS FULL| PS_CDM_TRANSFER |     1 |    47 |     3   (0)| 00:00:01 |                                                                                                          
    -------------------------------------------------------------------------------------                                                                                                          
                                                                    
    Predicate Information (identified by operation id):             
    ---------------------------------------------------             
                                                                    
       1 - filter("SERVERNAMERUN"=:1 AND "TRANSFERSTATUS"='2' AND   
                  "TRANSFERATTEMPTCNT"<=:2 AND "NEXTTRANSFERDTTM"<=CAST(SYSTIMESTAMP(6) AS                                                                                                         
                  TIMESTAMP))                                       
                                                                    
    2- Using New Indices                                            
    --------------------                                            
    Plan hash value: 3796702440                                     
                                                                    
    -----------------------------------------------------------------------------------------------                                                                                                
    | Id  | Operation                   | Name            | Rows  | Bytes | Cost (%CPU)| Time     |                                                                                                
    -----------------------------------------------------------------------------------------------                                                                                                
    |   0 | SELECT STATEMENT            |                 |     1 |    47 |     0   (0)| 00:00:01 |                                                                                                
    |*  1 |  TABLE ACCESS BY INDEX ROWID| PS_CDM_TRANSFER |     1 |    47 |     0   (0)| 00:00:01 |                                                                                                
    |*  2 |   INDEX RANGE SCAN          | IDX$$_02420001  |     1 |       |     0   (0)| 00:00:01 |                                                                                                
    -----------------------------------------------------------------------------------------------                                                                                                
                                                                    
    Predicate Information (identified by operation id):             
    ---------------------------------------------------             
                                                                    
       1 - filter("SERVERNAMERUN"=:1 AND "TRANSFERSTATUS"='2' AND "TRANSFERATTEMPTCNT"<=:2)                                                             
       2 - acce...   
    Thank you and best regards.

    Ok.

  • Creating Index on another table in schema stored in my table

    Hello
    I want to create indexes on a table column that is in another schema of my schema and index will be stored in my diagram.

    ex: the current user 'hr '.
    SQL > create index idx1 on scott.emp (eno);

    Does the above query?

    Thank you
    Sri
    SQL> conn
    Enter user-name: hr@****
    Enter password:
    Connected.
    SQL> create index ndx on scott.emp(sal);
    
    Index created.
    
    SQL> show user
    USER is "HR"
    
    SQL> select index_name from user_indexes where index_name = 'NDX';
    
    INDEX_NAME
    ------------------------------
    NDX
    
  • Table exists but still error: ORA-00942, isn't able to create indexes: Help

    It's my script... the table FLASH_SALES_BY_STORE_AND_HOUR exist in my database, so why I get the error message.
    ERROR on line 1:
    ORA-00942: table or view does not exist



    Here is my script.

    ASK for IDX_SALES_STORE_DEL

    CREATE INDEX IDX_SALES_STORE_DEL ON FLASH_SALES_BY_STORE_AND_HOUR (STORE_ID, TRUNC (LOCAL_DATE))
    TABLESPACE 'FLASH '.
    STORAGE
    (
    DEFAULT USER_TABLES
    )
    /

    QUICK creation IDX_SALES_STORE_VIEWexit


    CREATE INDEX IDX_SALES_STORE_VIEW ON FLASH_SALES_BY_STORE_AND_HOUR (STORE_ID, TRUNC (LOCAL_DATE), DEPARTMENT)
    TABLESPACE 'FLASH '.
    STORAGE
    (
    DEFAULT USER_TABLES
    )
    /

    Please, re - run the script as the user who owns the table...

    Otherwise, add the schema name before the name of the index (if not index will be created under SYS) and table name (since you missed the creation of synonym).

    HTH,
    Thierry

  • How to create indexes on the nested table.

    Hi all
    I held the syntax to create indexes on the nested table.

    I found below synta but when I try it with my table it gives me error

    CREATE UNIQUE INDEX indx_name
    ON nestedtablestore (NESTED_TABLE_ID, id);

    What is here NESTED_TABLE_ID & ID

    They are virtual your nested table

    Here is an example.

    create or replace type obj as object (no integer, address varchar2(100))
    /
    create or replace type tbl as table of obj
    /
    create table test_tbl (id integer, name varchar2(100), address tbl) nested table address store as address_nt
    /
    create unique index address_no_idx on address_nt (no, address)
    /
    

    Published by: Karthick_Arp on November 23, 2010 01:41

Maybe you are looking for

  • Troubleshooting Guide: Audio does not work after a Certain period of time

    Hi all Thank you for choosing the HP Forums! If your sound recently stopped working on Windows 8.x or Windows Server 2012 and you suspect an update of Windows is involved, then look like! This is the troubleshooting guide that will explain how to sol

  • HP Pavilion dv6 QG478PA #ACJ: noisy fan &amp; heating

    my laptop fan clocked to break speed with noise and also heating. I updated the BIOS of the processor etc. and also HP feel cool, adjusting the start-up etc but not effective so far. Especially when I Browse (Chrome, Firefox, Opera) internet also upd

  • Create sequences of the model

    Hi all! I develop a test using Teststand 2.0 application (which is required by the customer, so I can't upgrade), I need to create a new sequence or a resulting set of sequnces of the pre written templates. Adding a voice in the Tools menu that creat

  • WindowsUpdate fails to install

    error 8e5e03fa

  • Monitor of will not Wake Up during startup.

    I'm running XP (service pack 3). When I turn on the power, the monitor (LG Flatron) shows blue light "wake up" at first but then comes up the subscreen Power Saving, stating that she was going to 'power saving mode '. The monitor light goes from blue