Skip to Main Content

Database Software

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Transform old table(xmlsequence) to modern XMLTABLE

698658Jan 25 2011 — edited Jan 27 2011
Hi,
could You please help with translating
SELECT  SSS_task_id,  extractValue(value(taskhist),'/task/taskId') taskId, 
              extractValue(value(taskhist),  '/task/id') id_,
              extractValue(value(typeId),  '/typeId') typeId,
              rownum wiersz FROM 
              sss_archive2,      
              TABLE(xmlsequence(extract(xmltype(SSS_archive2.SSS_data2),'/ns2:ArchivisedTask/taskHistory/task','xmlns:ns2="http://some.com/qservice/model" xmlns:ns3="http://some.com/qservice/method"'))) taskhist,
              TABLE (xmlsequence(extract(value(taskhist),'/task/typeId'))) typeId 
              where
                SSS_task_id=extractValue(value(taskhist),  '/task/taskId')   
                and SSS_audit_st=1
to XMLTABLE query .
And is that enought to improve performance or is it rather style only change .
currently I've got plan like:
create table ARH_2 as 
SELECT        SSS_task_id,  extractValue(value(taskhist),'/task/taskId') taskId, 
              extractValue(value(taskhist),  '/task/id') id_,
              extractValue(value(typeId),  '/typeId') typeId,
              rownum wiersz FROM 
              sss_archive2,      
              TABLE(xmlsequence(extract(xmltype(SSS_archive2.SSS_data2),'/ns2:ArchivisedTask/taskHistory/task','xmlns:ns2="http://some.com/qservice/model" xmlns:ns3="http://some.com/qservice/method"'))) taskhist,
              TABLE (xmlsequence(extract(value(taskhist),'/task/typeId'))) typeId 
              where
                SSS_task_id=extractValue(value(taskhist),  '/task/taskId')   
                and SSS_audit_st=1
                
                
Plan hash value: 2424165471
 
------------------------------------------------------------------------------------------------------------
| Id  | Operation                             | Name                   | E-Rows |  OMem |  1Mem | Used-Mem |
------------------------------------------------------------------------------------------------------------
|   1 |  LOAD AS SELECT                       |                        |        |   519K|   519K|  519K (0)|
|   2 |   COUNT                               |                        |        |       |       |          |
|   3 |    NESTED LOOPS                       |                        |    267M|       |       |          |
|   4 |     NESTED LOOPS                      |                        |  16360 |       |       |          |
|*  5 |      TABLE ACCESS FULL                | SSS_ARCHIVE2           |    631K|       |       |          |
|*  6 |      COLLECTION ITERATOR PICKLER FETCH| XMLSEQUENCEFROMXMLTYPE |        |       |       |          |
|   7 |     COLLECTION ITERATOR PICKLER FETCH | XMLSEQUENCEFROMXMLTYPE |        |       |       |          |
------------------------------------------------------------------------------------------------------------
 
Predicate Information (identified by operation id):
---------------------------------------------------
 
   5 - filter("SSS_AUDIT_ST"=1)
   6 - filter("SSS_TASK_ID"=EXTRACTVALUE(VALUE(KOKBF$),'/task/taskId'))
 
Note
-----
   - dynamic sampling used for this statement
   - Warning: basic plan statistics not available. These are only collected when:
       * hint 'gather_plan_statistics' is used for the statement or
       * parameter 'statistics_level' is set to 'ALL', at session or system level
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Feb 24 2011
Added on Jan 25 2011
16 comments
2,512 views