11 Replies Latest reply on Sep 9, 2015 5:30 PM by alwu-Oracle

    Is it wise (possible) to partition a triple table?

    jerven

      The SEM_NET stores some parts of the triple data outside of the MDSYS data.

       

      e.g. normally one does

       

      CREATE TABLE  EXAMPLE_TPL (id NUMBER, triple SDO_RDF_TRIPLE_S);
      GRANT INSERT , UPDATE, DELETE on EXAMPLE_TPL to MDSYS;
      BEGIN
           SEM_APIS.CREATE_SEM_MODEL('example', 'EXAMPLE_TPL', 'triple');
      END;
      
      
      

       

      Does it make sense to partition the EXAMPLE_TPL table?

      e.g.

      CREATE TABLE  EXAMPLE_TPL (id NUMBER, triple SDO_RDF_TRIPLE_S)
      PARTITION BY HASH(triple.GET_PROPERTY())
      PARTITIONS 64;
      
      
      

       

      While this exact syntax does not work I hope it illustrates what I am aiming at.

       

      The idea is that while our model has a lot of predicates (160) or so only a few are often used in queries.

        • 1. Re: Is it wise (possible) to partition a triple table?
          jerven

          The following syntax is accepted

           

          CREATE TABLE  EXAMPLE_TPL (id NUMBER,
            triple SDO_RDF_TRIPLE_S,
          )
          PARTITION BY HASH (triple.rdf_p_id)
          PARTITIONS 64;
          

           

          That does of course leave open the question, is it wise?

          • 2. Re: Is it wise (possible) to partition a triple table?
            alwu-Oracle

            Hi,

             

            This kind of partition is not going to help SPARQL query performance (either SEM_MATCH based or Joseki/Fuseki based approach). The reason is that

            behind the scenes, a query is being executed against a MDSYS.RDFM_<model_name> view and that view is simply on a partition of MDSYS.RDF_LINK$.

             

            In other words, we don't really use the application table for query purpose.

             

            By default, we create two indices (on MDSYS.RDF_LINK$) using the predicate column as the leading column. So if your query uses constant predicate URIs, then those two

            default indices should provide efficient lookups/range scans. Have you encountered a performance problem?

             

            One thing you can do (if you really want to separate out triples with different URIs into different models) is to create multiple models: model1, model2, ...

            That way, you can store all triples with (predicateA, predicateB, ..) into model1;  all triples with (predicateX, predicateY, ...) into model2; ...

            Query time, you can pick the appropriate model(s) to run your SPARQL against. I doubt this is necessary though.

             

            Hope it helps,


            Zhe Wu

            • 3. Re: Is it wise (possible) to partition a triple table?
              jerven

              Hi Zhe Wu,

               

              Thank your this answer. It definitely shows that its not wise or helpful to do this partitioning.

              The multiple model solution does not really help as that becomes to difficult to manage on the application side.

               

              Something that could be tried but does not sound appealing is to sub partition the MDSYS.RDF_LINK$ table.

              It could work for our datawarehousing use case (as predicates are rarely added) so we could make it a list-list partition/subpartition after loading.

              Redefine the table etc...

              But it would requires some work to get right, and might impact existing sem_match functions.

              In any case adding new models afterwards would probably stop working as the table definition has changed.

               

              Regards,

              Jerven

              • 4. Re: Is it wise (possible) to partition a triple table?
                alwu-Oracle

                Hi Jerven,

                 

                There is a DIY approach if you feel adventurous and if you are dealing with a test setup (non production).

                 

                You can copy out all the data in a MDSYS.RDFM_<your_model_name> to a physical table (with whatever partitioning/sub-partitioning/indexing scheme you feel like to use), save the definition of the MDSYS.RDFM_<your_model_name>, redefine the RDFM_<your_model_name> view on that physical table instead of a partition in MDSYS.RDF_LINK$.

                 

                You will of course need privileges to work in MDSYS. Be sure to backup your database first.

                 

                Thanks,


                Zhe Wu

                • 5. Re: Is it wise (possible) to partition a triple table?
                  jerven

                  Hi Zhe Wu,

                   

                  We where having the idea to redefine the tables. (actually we where thinking about making it an index organized table), but then thought that trying inmemory was going to be easier with a higher potential benefit so that is the next approach we will experiment with.

                   

                  Regards,

                  Jerven

                  • 6. Re: Is it wise (possible) to partition a triple table?
                    jerven

                    Hi Zhe Wu,

                     

                    This is the cookbook for the approach, for any other crazies out there

                     

                    First as we are going to generate a lot of subpartitions ! lets generate the sub-partition template part.

                     

                    SELECT DISTINCT 'SUBPARTITION p_'||"P_VALUE_ID"||' VALUES ('||"P_VALUE_ID"||') TABLESPACE RDFDATA,' FROM MDSYS.RDF_LINK$;
                    
                    

                     

                    Copy the output into subpartion template section.

                     

                    DROP TABLE "MDSYS"."TESTER_RDF_LINK$";
                    CREATE TABLE "MDSYS"."TESTER_RDF_LINK$"
                    (    "P_VALUE_ID" NUMBER NOT NULL ENABLE,
                        "START_NODE_ID" NUMBER,
                        "CANON_END_NODE_ID" NUMBER,
                        "END_NODE_ID" NUMBER,
                        "MODEL_ID" NUMBER,
                        "COST" NUMBER,
                        "CTXT1" NUMBER,
                        "CTXT2" VARCHAR2(4000 BYTE),
                        "DISTANCE" NUMBER,
                        "EXPLAIN" VARCHAR2(4000 BYTE),
                        "PATH" VARCHAR2(4000 BYTE),
                        "G_ID" NUMBER,
                    --This is an anoying virtual column, if it was not present we could use an Index Organized Table with most of the benefits of this solution without the maintenance overhead.
                        "LINK_ID" VARCHAR2(89 BYTE) GENERATED ALWAYS AS (TO_CHAR("MODEL_ID",'FMXXXXXXXXXXXXXXXX')||CASE  WHEN ("G_ID" IS NOT NULL) THEN ('g'||TO_CHAR("G_ID",'FMXXXXXXXXXXXXXXXX')) ELSE NULL END ||'_'||TO_CHAR("START_NODE_ID",'FMXXXXXXXXXXXXXXXX')||'_'||TO_CHAR("P_VALUE_ID",'FMXXXXXXXXXXXXXXXX')||'_'||TO_CHAR("CANON_END_NODE_ID",'FMXXXXXXXXXXXXXXXX')) VIRTUAL
                    )
                    PARTITION BY LIST ("MODEL_ID")
                    SUBPARTITION BY LIST ("P_VALUE_ID")
                    SUBPARTITION TEMPLATE (
                    SUBPARTITION p_488442508342906094 VALUES (488442508342906094) TABLESPACE RDFDATA,                                           
                    -- Other output of the earlier query
                    SUBPARTITION p_4123741764067174023 VALUES (4123741764067174023) TABLESPACE RDFDATA
                    )
                    (PARTITION "MODEL_0"  VALUES (0) TABLESPACE "RDFDATA"  ,
                    PARTITION "MODEL_1"  VALUES (1) TABLESPACE "RDFDATA"
                    )
                    TABLESPACE "RDFDATA"
                    -- adapt to your machine as we use an engineered system
                    NOLOGGING COMPRESS FOR QUERY HIGH
                    PARALLEL;
                    
                    

                    --This can speed things up but be careful do not specify parallel ddl

                    ALTER session force parallel DML;
                    ALTER session force parallel QUERY;
                    
                    

                    --You have to use a col_mapping as otherwise the procedure tries to load data into the virtual column.

                    BEGIN
                    SYS.DBMS_REDEFINITION.START_REDEF_TABLE(
                       uname        => 'MDSYS',
                       orig_table   => 'RDF_LINK$',
                       int_table    => 'TESTER_RDF_LINK$',
                       col_mapping  => 'P_VALUE_ID,START_NODE_ID,CANON_END_NODE_ID,END_NODE_ID,MODEL_ID,COST,CTXT1,CTXT2,DISTANCE,EXPLAIN,PATH,G_ID',
                       options_flag => DBMS_REDEFINITION.CONS_USE_ROWID);
                    END;
                    
                    
                    BEGIN
                    SYS.DBMS_REDEFINITION.FINISH_REDEF_TABLE(uname        => 'MDSYS',
                       orig_table   => 'RDF_LINK$',
                       int_table    => 'TESTER_RDF_LINK$');
                    END;
                    
                    

                    Then find any indexes that are unusable and rebuild them.

                     

                    SELECT INDEX_NAME, STATUS FROM ALL_INDEXES WHERE STATUS LIKE 'UN%';
                    
                    

                     

                    Then of course gather statistics

                     

                    EXECUTE SEM_PERF.GATHER_STATS(false,96);
                    

                     

                    Now to see if it has any benefits...

                    • 7. Re: Is it wise (possible) to partition a triple table?
                      jerven

                      Quick first observation, the query optimizer finds it easier to trigger parallel execution of some of our horrible queries. So that for our serial workload of one analytical query after one other is a great benefit.

                      Will have to see if total throughput improves but I strongly suspect it will

                      • 8. Re: Is it wise (possible) to partition a triple table?
                        alwu-Oracle

                        Looking forward to hearing more news on that.

                         

                        Thanks,

                         

                        Zhe

                        • 9. Re: Is it wise (possible) to partition a triple table?
                          jerven

                          Forget about partitioning it has a benefit, but it looks like we should have hash subpartitioned on canon_end_node_id. Filtering on this field after a full table scan with a constant seems to appear very often in our query plans.

                           

                          However, inmemory has major benefits.

                           

                          e.g. the following when inmemory is enabled has great perf increases on our test data.

                           

                          ALTER TABLE MDSYS.RDF_LINK$ INMEMORY MEMCOMPRESS FOR CAPACITY HIGH  PRIORITY MEDIUM DISTRIBUTE BY ROWID RANGE NO DUPLICATE INMEMORY (P_VALUE_ID, START_NODE_ID, END_NODE_ID, CANON_END_NODE_ID, G_ID) NO INMEMORY (COST, MODEL_ID, CTXT1, CTXT2, DISTANCE, EXPLAIN, PATH);

                          ALTER TABLE MDSYS.RDF_VALUE$ INMEMORY MEMCOMPRESS FOR CAPACITY HIGH PRIORITY LOW DISTRIBUTE BY ROWID RANGE NO DUPLICATE INMEMORY (VALUE_ID, VALUE_TYPE, VNAME_PREFIX,VNAME_SUFFIX) NO INMEMORY (LANGUAGE_TYPE, LITERAL_TYPE,CANON_ID,COLLISION_EXT,CANON_COLLISION_EXT,LONG_VALUE);

                           

                          The amount of work to enable this is minimal and has major benefits in our case. I would suggest that an inmemory true option is added to the create_semnet function which will add this as an option in a future release of the database.

                          • 10. Re: Is it wise (possible) to partition a triple table?
                            jerven

                            The partitioning on "CANON_END_ID" was not as good as subpartioning by P_VALUE_ID. Here we compare two query plans for the same query, with either CANON_END_ID subpartioning or P_VALUE_ID subpartioning by HASH. BY HASH subpartioning is not quite as good as BY LIST but is lower maintenance.

                            OPERATION OBJECT_NAME CARDINALITY COST PARTITION_START PARTITION_STOP
                            SELECT STATEMENT
                               1 102253      
                               
                            VIEW
                               1 102253      
                                   
                            VIEW
                               1 102253      
                                       
                            VIEW
                               1 102253      
                                           
                            VIEW
                               1 102253      
                                               
                            SORT
                               1         
                                                   
                            PX COORDINATOR
                                          
                                                       
                            PX SEND
                            :TQ10005 1         
                                                           
                            SORT
                               1         
                                                               
                            PX RECEIVE
                               1         
                                                                   
                            PX SEND
                            :TQ10004 1         
                                                                       
                            SORT
                               1         
                                                                           
                            HASH JOIN
                               1844620239052 102253      
                                                                               
                            Access Predicates
                                                                                   
                            R2.V00$RDFVID(+)=COALESCE(START_NODE_ID,R2.V00$RDFVID)
                                                                               
                            Filter Predicates
                                                                                   
                            R2.V11$RDFVID(+)=COALESCE(R2.V11$RDFVID,R2.V11$RDFVID(+),0)
                                                                               
                            BUFFER
                                          
                                                                                   
                            PX RECEIVE
                               1 5      
                                                                                       
                            PX SEND
                            :TQ10001 1 5      
                                                                                           
                            VIEW
                               1 5      
                                                                                               
                            FILTER
                                          
                                                                                                   
                            Filter Predicates
                                                                                                       
                            NULL IS NOT NULL
                                                                                                   
                            VIEW
                               1 5      
                                                                                                       
                            VIEW
                               1 5      
                                                                                                           
                            VIEW
                               1 5      
                                                                                                               
                            FILTER
                                          
                                                                                                                   
                            Filter Predicates
                                                                                                                       
                            NULL IS NOT NULL
                                                                                                                   
                            MERGE JOIN
                               1 5352      
                                                                                                                       
                            INDEX
                            SYS_C0010683 1 0      
                                                                                                                       
                            BUFFER
                               62083518 5352      
                                                                                                                           
                            PARTITION RANGE
                               62083518 1315 1 4
                                                                                                                               
                            PARTITION HASH
                               62083518 1315 1 32
                                                                                                                                   
                            TABLE ACCESS
                            RDF_VALUE$ 62083518 1315 1 128
                                                                               
                            PX RECEIVE
                               1844620239052 53862      
                                                                                   
                            PX SEND
                            :TQ10003 1844620239052 53862      
                                                                                       
                            HASH JOIN
                               1844620239052 53862      
                                                                                           
                            Access Predicates
                                                                                               
                            START_NODE_ID=START_NODE_ID
                                                                                           
                            PARTITION LIST
                               1738 7 2 2
                                                                                               
                            PARTITION HASH
                               1738 7 35 35
                                                                                                   
                            TABLE ACCESS
                            RDF_LINK$ 1738 7 163 163
                                                                                                       
                            Access Predicates
                                                                                                           
                            AND
                                                                                                               
                            P_VALUE_ID=132594173200043592
                                                                                                               
                            CANON_END_NODE_ID=3914313184370756065
                                                                                                       
                            Filter Predicates
                                                                                                           
                            AND
                                                                                                               
                            P_VALUE_ID=132594173200043592
                                                                                                               
                            CANON_END_NODE_ID=3914313184370756065
                                                                                           
                            HASH JOIN
                               1061450093 91      
                                                                                               
                            Access Predicates
                                                                                                   
                            START_NODE_ID=START_NODE_ID
                                                                                               
                            PX RECEIVE
                               110 11      
                                                                                                   
                            PX SEND
                            :TQ10002 110 11      
                                                                                                       
                            STATISTICS COLLECTOR
                                          
                                                                                                           
                            PX BLOCK
                               110 11 115 115
                                                                                                               
                            TABLE ACCESS
                            RDF_LINK$ 110 11 243 243
                                                                                                                   
                            Access Predicates
                                                                                                                       
                            AND
                                                                                                                           
                            P_VALUE_ID=132594173200043592
                                                                                                                           
                            CANON_END_NODE_ID=1801580129296572186
                                                                                                                   
                            Filter Predicates
                                                                                                                       
                            AND
                                                                                                                           
                            P_VALUE_ID=132594173200043592
                                                                                                                           
                            CANON_END_NODE_ID=1801580129296572186
                                                                                               
                            BUFFER
                                          
                                                                                                   
                            PX RECEIVE
                               9674920 50      
                                                                                                       
                            PX SEND
                            :TQ10000 9674920 50      
                                                                                                           
                            HASH JOIN
                               9674920 50      
                                                                                                               
                            Access Predicates
                                                                                                                   
                            START_NODE_ID=R2.V00$RDFVID(+)
                                                                                                               
                            VIEW
                               1 5      
                                                                                                                   
                            FILTER
                                          
                                                                                                                       
                            Filter Predicates
                                                                                                                           
                            NULL IS NOT NULL
                                                                                                                       
                            VIEW
                               1 5      
                                                                                                                           
                            VIEW
                               1 5      
                                                                                                                               
                            VIEW
                               1 5      
                                                                                                                                   
                            FILTER
                                          
                                                                                                                                       
                            Filter Predicates
                                                                                                                                           
                            NULL IS NOT NULL
                                                                                                                                       
                            MERGE JOIN
                               1 5352      
                                                                                                                                           
                            INDEX
                            SYS_C0010683 1 0      
                                                                                                                                           
                            BUFFER
                               62083518 5352      
                                                                                                                                               
                            PARTITION RANGE
                               62083518 1315 1 4
                                                                                                                                                   
                            PARTITION HASH
                               62083518 1315 1 32
                                                                                                                                                       
                            TABLE ACCESS
                            RDF_VALUE$ 62083518 1315 1 128
                                                                                                               
                            HASH JOIN
                               9674920 49      
                                                                                                                   
                            Access Predicates
                                                                                                                       
                            CANON_END_NODE_ID=START_NODE_ID
                                                                                                                   
                            Filter Predicates
                                                                                                                       
                            CANON_END_NODE_ID=COALESCE(NVL2(R.V72$RDFTERM,NVL(SEM_APIS.RES2VID('MDSYS.RDF_VALUE$',R.V72$RDFTERM,SDO_RDF.LTYPE(R.V72$RDFTERM),SDO_RDF.LATAG(R.V72$RDFTERM)),0),NULL),CANON_END_NODE_ID,0)
                                                                                                                   
                            PART JOIN FILTER
                            :BF0000 11119508 3      
                                                                                                                       
                            PARTITION LIST
                               11119508 3 2 2
                                                                                                                           
                            PARTITION HASH
                               11119508 3 1 128
                                                                                                                               
                            TABLE ACCESS
                            RDF_LINK$ 11119508 3 129 256
                                                                                                                                   
                            Access Predicates
                                                                                                                                       
                            P_VALUE_ID=4848977109873059226
                                                                                                                                   
                            Filter Predicates
                                                                                                                                       
                            P_VALUE_ID=4848977109873059226
                                                                                                                   
                            MERGE JOIN
                               710773 18      
                                                                                                                       
                            VIEW
                               1 2      
                                                                                                                           
                            VIEW
                               1 2      
                                                                                                                               
                            VIEW
                               1 2      
                                                                                                                                   
                            FAST DUAL
                               1 2      
                                                                                                                       
                            PARTITION LIST
                               710773 2 2 2
                                                                                                                           
                            PARTITION HASH
                               710773 2 :BF0000 :BF0000
                                                                                                                               
                            TABLE ACCESS
                            RDF_LINK$ 710773 2 129 256
                                                                                                                                   
                            Access Predicates
                                                                                                                                       
                            P_VALUE_ID=7187635045707723115
                                                                                                                                   
                            Filter Predicates
                                                                                                                                       
                            P_VALUE_ID=7187635045707723115

                             

                            OPERATION OBJECT_NAME CARDINALITY COST PARTITION_START PARTITION_STOP
                            SELECT STATEMENT
                               1 3585      
                               
                            VIEW
                               1 3585      
                                   
                            VIEW
                               1 3585      
                                       
                            VIEW
                               1 3585      
                                           
                            VIEW
                               1 3585      
                                               
                            SORT
                               1         
                                                   
                            PX COORDINATOR
                                          
                                                       
                            PX SEND
                            :TQ10009 1         
                                                           
                            SORT
                               1         
                                                               
                            PX RECEIVE
                               1         
                                                                   
                            PX SEND
                            :TQ10008 1         
                                                                       
                            SORT
                               1         
                                                                           
                            HASH JOIN
                               1 3585      
                                                                               
                            Access Predicates
                                                                                   
                            R2.V00$RDFVID(+)=COALESCE(START_NODE_ID,R2.V00$RDFVID)
                                                                               
                            Filter Predicates
                                                                                   
                            R2.V11$RDFVID(+)=COALESCE(R2.V11$RDFVID,R2.V11$RDFVID(+),0)
                                                                               
                            PX RECEIVE
                               1 3585      
                                                                                   
                            PX SEND
                            :TQ10007 1 3585      
                                                                                       
                            BUFFER
                               1         
                                                                                           
                            NESTED LOOPS
                               1 3585      
                                                                                               
                            HASH JOIN
                               1 3585      
                                                                                                   
                            Access Predicates
                                                                                                       
                            CANON_END_NODE_ID=START_NODE_ID
                                                                                                   
                            JOIN FILTER
                            :BF0000 1 2688      
                                                                                                       
                            PX RECEIVE
                               1 2688      
                                                                                                           
                            PX SEND
                            :TQ10005 1 2688      
                                                                                                               
                            HASH JOIN
                               1 2688      
                                                                                                                   
                            Access Predicates
                                                                                                                       
                            START_NODE_ID=R2.V00$RDFVID(+)
                                                                                                                   
                            HASH JOIN
                               1 2688      
                                                                                                                       
                            Access Predicates
                                                                                                                           
                            START_NODE_ID=START_NODE_ID
                                                                                                                       
                            PX RECEIVE
                               272 1792      
                                                                                                                           
                            PX SEND
                            :TQ10003 272 1792      
                                                                                                                               
                            HASH JOIN
                               272 1792      
                                                                                                                                   
                            Access Predicates
                                                                                                                                       
                            START_NODE_ID=START_NODE_ID
                                                                                                                                   
                            JOIN FILTER
                            :BF0001 271 897      
                                                                                                                                       
                            PX RECEIVE
                               271 897      
                                                                                                                                           
                            PX SEND
                            :TQ10002 271 897      
                                                                                                                                               
                            PX BLOCK
                               271 897 54 54
                                                                                                                                                   
                            TABLE ACCESS
                            RDF_LINK$ 271 897 182 182
                                                                                                                                                       
                            Access Predicates
                                                                                                                                                           
                            AND
                                                                                                                                                               
                            CANON_END_NODE_ID=1801580129296572186
                                                                                                                                                               
                            P_VALUE_ID=132594173200043592
                                                                                                                                                       
                            Filter Predicates
                                                                                                                                                           
                            AND
                                                                                                                                                               
                            CANON_END_NODE_ID=1801580129296572186
                                                                                                                                                               
                            P_VALUE_ID=132594173200043592
                                                                                                                                   
                            JOIN FILTER
                            :BF0001 824851 895      
                                                                                                                                       
                            PX BLOCK
                               824851 895 48 48
                                                                                                                                           
                            TABLE ACCESS
                            RDF_LINK$ 824851 895 176 176
                                                                                                                                               
                            Access Predicates
                                                                                                                                                   
                            AND
                                                                                                                                                       
                            P_VALUE_ID=7187635045707723115
                                                                                                                                                       
                            SYS_OP_BLOOM_FILTER(:BF0001,START_NODE_ID)
                                                                                                                                               
                            Filter Predicates
                                                                                                                                                   
                            AND
                                                                                                                                                       
                            P_VALUE_ID=7187635045707723115
                                                                                                                                                       
                            SYS_OP_BLOOM_FILTER(:BF0001,START_NODE_ID)
                                                                                                                       
                            PX RECEIVE
                               271 897      
                                                                                                                           
                            PX SEND
                            :TQ10004 271 897      
                                                                                                                               
                            PX BLOCK
                               271 897 54 54
                                                                                                                                   
                            TABLE ACCESS
                            RDF_LINK$ 271 897 182 182
                                                                                                                                       
                            Access Predicates
                                                                                                                                           
                            AND
                                                                                                                                               
                            CANON_END_NODE_ID=3914313184370756065
                                                                                                                                               
                            P_VALUE_ID=132594173200043592
                                                                                                                                       
                            Filter Predicates
                                                                                                                                           
                            AND
                                                                                                                                               
                            CANON_END_NODE_ID=3914313184370756065
                                                                                                                                               
                            P_VALUE_ID=132594173200043592
                                                                                                                   
                            BUFFER
                                          
                                                                                                                       
                            PX RECEIVE
                               1 5      
                                                                                                                           
                            PX SEND
                            :TQ10000 1 5      
                                                                                                                               
                            VIEW
                               1 5      
                                                                                                                                   
                            FILTER
                                          
                                                                                                                                       
                            Filter Predicates
                                                                                                                                           
                            NULL IS NOT NULL
                                                                                                                                       
                            VIEW
                               1 5      
                                                                                                                                           
                            VIEW
                               1 5      
                                                                                                                                               
                            VIEW
                               1 5      
                                                                                                                                                   
                            FILTER
                                          
                                                                                                                                                       
                            Filter Predicates
                                                                                                                                                           
                            NULL IS NOT NULL
                                                                                                                                                       
                            MERGE JOIN
                               1 5352      
                                                                                                                                                           
                            INDEX
                            SYS_C0010683 1 0      
                                                                                                                                                           
                            BUFFER
                               62083518 5352      
                                                                                                                                                               
                            PARTITION RANGE
                               62083518 1315 1 4
                                                                                                                                                                   
                            PARTITION HASH
                               62083518 1315 1 32
                                                                                                                                                                       
                            TABLE ACCESS
                            RDF_VALUE$ 62083518 1315 1 128
                                                                                                   
                            PX RECEIVE
                               20098673 896      
                                                                                                       
                            PX SEND
                            :TQ10006 20098673 896      
                                                                                                           
                            JOIN FILTER
                            :BF0000 20098673 896      
                                                                                                               
                            PX BLOCK
                               20098673 896 2 2
                                                                                                                   
                            TABLE ACCESS
                            RDF_LINK$ 20098673 896 130 130
                                                                                                                       
                            Access Predicates
                                                                                                                           
                            AND
                                                                                                                               
                            P_VALUE_ID=4848977109873059226
                                                                                                                               
                            SYS_OP_BLOOM_FILTER(:BF0000,START_NODE_ID)
                                                                                                                       
                            Filter Predicates
                                                                                                                           
                            AND
                                                                                                                               
                            P_VALUE_ID=4848977109873059226
                                                                                                                               
                            SYS_OP_BLOOM_FILTER(:BF0000,START_NODE_ID)
                                                                                               
                            VIEW
                               1 2      
                                                                                                   
                            Filter Predicates
                                                                                                       
                            CANON_END_NODE_ID=COALESCE(NVL2(R.V72$RDFTERM,NVL(SEM_APIS.RES2VID('MDSYS.RDF_VALUE$',R.V72$RDFTERM,SDO_RDF.LTYPE(R.V72$RDFTERM),SDO_RDF.LATAG(R.V72$RDFTERM)),0),NULL),CANON_END_NODE_ID,0)
                                                                                                   
                            VIEW
                               1 2      
                                                                                                       
                            VIEW
                               1 2      
                                                                                                           
                            FAST DUAL
                               1 2      
                                                                               
                            BUFFER
                                          
                                                                                   
                            PX RECEIVE
                               1 5      
                                                                                       
                            PX SEND
                            :TQ10001 1 5      
                                                                                           
                            VIEW
                               1 5      
                                                                                               
                            FILTER
                                          
                                                                                                   
                            Filter Predicates
                                                                                                       
                            NULL IS NOT NULL
                                                                                                   
                            VIEW
                               1 5      
                                                                                                       
                            VIEW
                               1 5      
                                                                                                           
                            VIEW
                               1 5      
                                                                                                               
                            FILTER
                                          
                                                                                                                   
                            Filter Predicates
                                                                                                                       
                            NULL IS NOT NULL
                                                                                                                   
                            MERGE JOIN
                               1 5352      
                                                                                                                       
                            INDEX
                            SYS_C0010683 1 0      
                                                                                                                       
                            BUFFER
                               62083518 5352      
                                                                                                                           
                            PARTITION RANGE
                               62083518 1315 1 4
                                                                                                                               
                            PARTITION HASH
                               62083518 1315 1 32
                                                                                                                                   
                            TABLE ACCESS
                            RDF_VALUE$ 62083518 1315 1 128
                            • 11. Re: Is it wise (possible) to partition a triple table?
                              alwu-Oracle

                                Hi Jerven,

                               

                              Thanks for the update. I am wondering how much performance gain did you observe from the IMC (IMDB). Maybe we can take this offline.

                               

                              Cheers,


                              Zhe Wu