Item10610: Foo~'*Blah' is massively slower than Foo='Blah'
Priority: Low
Current State: New
Released In: n/a
Target Release: n/a
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