Item10610: Foo~'*Blah' is massively slower than Foo='Blah'

pencil
Priority: Low
Current State: New
Released In: n/a
Target Release: n/a
Applies To: Extension
Component: MongoDBPlugin
Branches:
Reported By: PaulHarvey
Waiting For: SvenDowideit
Last Change By: PaulHarvey
Because it can't use indexes.

I guess the aim of this bug will be to compare how different MongoDBPlugin's performance is for wildcard/regex matching vs BruteForce. Anyway, https://wiki.trin.org.au/TaxonProfile/Builder/ProfileBuilder?Namespace=WC contains an include to https://wiki.trin.org.au/TaxonProfile/Builder/TermBuilder?Namespace=WC;section=existing which had:
  • form.name~'*TermForm' but is now re-written as
  • %QFORM{"Definitions" form="TermForm"}% defined at https://wiki.trin.org.au/TaxonProfile/WebPreferences as a parameterised variable, which produces
  • (form.name='TaxonProfile.Definitions.TermForm' OR form.name='TaxonProfile/Definitions.TermForm' OR form.name='TaxonProfile/Definitions/TermForm' OR form.name='TaxonProfile.Definitions/TermForm' OR form.name='TermForm') to accommodate all the variations of different web/topic separators that are found in our topics.

Before this change, the script times out. Afterwards, typical times are ~6s (it's got lots of nested queries). With DBQUERY it took around ~30s.

-- PaulHarvey - 08 Apr 2011

Another avenue to explore: is Namespace='WC' AND form.name~'*TermForm' faster than form.name~'*TermForm' AND Namespace='WC'... if so, can the hoister re-arrange the query automagically

-- PaulHarvey - 13 Apr 2011

Ah, of course it won't be (not for Definitions web anyway). As 99% the topics are TermForm topics.

-- PaulHarvey - 13 Apr 2011
 

ItemTemplate edit

Summary Foo~'*Blah' is massively slower than Foo='Blah'
ReportedBy PaulHarvey
Codebase trunk
SVN Range
AppliesTo Extension
Component MongoDBPlugin
Priority Low
CurrentState New
WaitingFor SvenDowideit
Checkins
TargetRelease n/a
ReleasedIn n/a
Topic revision: r2 - 13 Apr 2011, PaulHarvey
The copyright of the content on this website is held by the contributing authors, except where stated elsewhere. See Copyright Statement. Creative Commons License    Legal Imprint    Privacy Policy