IBM webMethods Hybrid Integration

IBM webMethods Hybrid Integration

Join this online group to communicate across IBM product users and experts by sharing advice and best practices with peers and staying up to date regarding product enhancements.

 View Only
Expand all | Collapse all

xf:count() versus count()

  • 1.  xf:count() versus count()

    Posted Mon January 26, 2004 12:50 PM

    Hi!

    I use Tamino 4.1.4.4 and I’ve execute the same query in XQuery and in X-Query.
    The X-Query was very fast but the XQuery was very very slow.
    Here my queries:

    X-Query:
    count(test[id~= “1234”])

    XQuery:
    declare namespace tf=“http://namespaces.softwareag.com/tamino/TaminoFunction
    let $b := input()/test
    where tf:containsText($b/id, “1234”)
    return

    {count($b)}



    Why is my XQuery slower than the X-Query?

    Best Regards
    Bj


    #webMethods
    #Tamino
    #API-Management


  • 2.  RE: xf:count() versus count()

    Posted Tue January 27, 2004 04:39 PM


  • 3.  RE: xf:count() versus count()

    Posted Wed January 28, 2004 02:09 PM

    Hello Walter,

    yes, my query was wrong. Thanks for your answer. No it works in an acceptable time.

    Best regards
    Bj


    #Tamino
    #API-Management
    #webMethods


  • 4.  RE: xf:count() versus count()

    Posted Mon February 02, 2004 04:43 PM

    Hello Walter,

    I have changed the query but the XQuery is too slow. Is there another problem in my queries? I can’t find the reason or is the XQuery slower than X-Query?

    In my database there 460.000 Values with an IndexSpace of 1GB and a DataSpace of 1,6GB

    My XQuery uses 74584 ms and my X-Query uses 160 ms.

    Here is my XQuery:

    declare namespace tf='http://namespaces.softwareag.com/tamino/TaminoFunction'
    count(
    for $b in input()/sendung
    where (tf:containsText($b/id, 'Unfall') or
    tf:containsText($b/sendungsname, 'Unfall') or
    tf:containsText($b/event, 'Unfall') or
    tf:containsText($b/sparte, 'Unfall') or
    $b/sdate="Unfall" or
    tf:containsText($b/moderation, 'Unfall') or
    tf:containsText($b/material, 'Unfall') or
    tf:containsText($b/sen_tca, 'Unfall') or
    tf:containsText($b/sen_tce, 'Unfall') or
    $b/sen_dauer="Unfall" or
    tf:containsText($b/maskentyp, 'Unfall') or
    $b/tapenr="Unfall" or
    $b/stand="Unfall" or
    $b/beitrag/nr="Unfall" or
    tf:containsText($b/beitrag/titel, 'Unfall') or
    tf:containsText($b/beitrag/redakteur, 'Unfall') or
    tf:containsText($b/beitrag/sendeform, 'Unfall') or
    tf:containsText($b/beitrag/kamera, 'Unfall') or
    tf:containsText($b/beitrag/btrg_tca, 'Unfall') or
    tf:containsText($b/beitrag/btrg_tce, 'Unfall') or
    $b/beitrag/btrg_dauer="Unfall" or
    $b/beitrag/ton="Unfall" or
    $b/beitrag/bq="Unfall" or
    tf:containsText($b/beitrag/zfg, 'Unfall') or
    tf:containsText($b/beitrag/bemerkung, 'Unfall') or
    $b/beitrag/dokumentar="Unfall" or
    $b/beitrag/erfassungsdatum="Unfall" or
    tf:containsText($b/beitrag/bearbeitung, 'Unfall') or
    $b/beitrag/bearbeitungsdatum="Unfall" or
    tf:containsText($b/beitrag/agenturtext, 'Unfall') or
    tf:containsText($b/beitrag/bilderquelle, 'Unfall') or
    tf:containsText($b/beitrag/originaltext, 'Unfall') or
    $b/beitrag/deskriptor="Unfall" or
    $b/beitrag/abgleich="Unfall" or
    $b/beitrag/btrg_status="Unfall" or
    $b/beitrag/btrg_verweis="Unfall" or
    tf:containsText($b/beitrag/rechte, 'Unfall') or
    $b/beitrag/idnr="Unfall" or
    tf:containsText($b/beitrag/sequenz/herkunft, 'Unfall') or
    tf:containsText($b/beitrag/sequenz/land, 'Unfall') or
    tf:containsText($b/beitrag/sequenz/stadt, 'Unfall') or
    tf:containsText($b/beitrag/sequenz/seq_tca, 'Unfall') or
    tf:containsText($b/beitrag/sequenz/seq_tce, 'Unfall') or
    $b/beitrag/sequenz/seq_dauer="Unfall" or
    tf:containsText($b/beitrag/sequenz/topic, 'Unfall') or
    tf:containsText($b/beitrag/sequenz/seq_beschreibung, 'Unfall') or
    $b/beitrag/sequenz/hdate="Unfall" or
    tf:containsText($b/beitrag/sequenz/video_id, 'Unfall') or
    tf:containsText($b/beitrag/sequenz/o_ton, 'Unfall') or
    tf:containsText($b/beitrag/sequenz/seq_verweis, 'Unfall'))
    return $b)
    </pre><BR><BR>Here is my X-Query:<BR><pre class="ip-ubbcode-code-pre">
    count(sendung[(
    id~="Unfall" or
    sendungsname~="Unfall" or
    event~="Unfall" or
    sparte~="Unfall" or
    sdate="Unfall" or
    moderation~="Unfall" or
    material~="Unfall" or
    sen_tca~="Unfall" or
    sen_tce~="Unfall" or
    sen_dauer="Unfall" or
    maskentyp~="Unfall" or
    tapenr="Unfall" or
    stand="Unfall" or
    beitrag/nr="Unfall" or
    beitrag/titel~="Unfall" or
    beitrag/redakteur~="Unfall" or
    beitrag/sendeform~="Unfall" or
    beitrag/kamera~="Unfall" or
    beitrag/btrg_tca~="Unfall" or
    beitrag/btrg_tce~="Unfall" or
    beitrag/btrg_dauer="Unfall" or
    beitrag/ton="Unfall" or
    beitrag/bq="Unfall" or
    beitrag/zfg~="Unfall" or
    beitrag/bemerkung~="Unfall" or
    beitrag/dokumentar="Unfall" or
    beitrag/erfassungsdatum="Unfall" or
    beitrag/bearbeitung~="Unfall" or
    beitrag/bearbeitungsdatum="Unfall" or
    beitrag/agenturtext~="Unfall" or
    beitrag/bilderquelle~="Unfall" or
    beitrag/originaltext~="Unfall" or
    beitrag/deskriptor="Unfall" or
    beitrag/abgleich="Unfall" or
    beitrag/btrg_status="Unfall" or
    beitrag/btrg_verweis="Unfall" or
    beitrag/rechte~="Unfall" or
    beitrag/idnr="Unfall" or
    beitrag/sequenz/herkunft~="Unfall" or
    beitrag/sequenz/land~="Unfall" or
    beitrag/sequenz/stadt~="Unfall" or
    beitrag/sequenz/seq_tca~="Unfall" or
    beitrag/sequenz/seq_tce~="Unfall" or
    beitrag/sequenz/seq_dauer="Unfall" or
    beitrag/sequenz/topic~="Unfall" or
    beitrag/sequenz/seq_beschreibung~="Unfall" or
    beitrag/sequenz/hdate="Unfall" or
    beitrag/sequenz/video_id~="Unfall" or
    beitrag/sequenz/o_ton~="Unfall" or
    beitrag/sequenz/seq_verweis~="Unfall")
    ])



    The results are the same.

    Best regards
    Bj


    #API-Management
    #Tamino
    #webMethods


  • 5.  RE: xf:count() versus count()

    Posted Tue February 03, 2004 02:41 PM

    Hello Bjorn,
    My experience with count() is about the same (i have collection of abt. 220.000 docs). I think the problem is, that Tamino first selects all the matching documents and counts them afterwards. If the size of the result set is big, the performance goes close to zero, this is my experience… Hope there will be some optimisation soon, i need it too to make some statistics…

    bye, Pavel


    #Tamino
    #webMethods
    #API-Management