[Zope-dev] catalog performance: query plan

Martin Aspeli optilude at gmx.net
Mon Nov 10 12:16:46 EST 2008


Hi Tres,

>> Index Name           |Type             |Avg Time |Calls/second
>> ==============================================================
>> object_implements    |KeywordIndex     |0.2172234|         4.6
> 
> This is clearly not the same issue as the other KeywordIndexes:  in
> fact, I am astonished that anybody would be using a KeywordIndex for
> this at all.  I would suspect that the real problem here is in the
> appliation, rather than the index itself.

Why? object_implements indexes a list of interface dotted names. Would 
another type of index be more appropriate?

>> UID                  |FieldIndex       |0.0003070|      3257.1
> 
> Note that this is the worst-case scenario for a FieldIndex:  there is
> exactly one value for every key.  This shouldn't be "indexed" at all, in
> fact, beyond a simple BTree (UID -> rid).

Good point. I wonder how many places we use a UID index. UID *metadata* 
is quite important, of course.

>> targetUID            |FieldIndex       |0.0002287|     4372.12
> 
> I don't know what this one is used for, but it should probably be
> scrapped as well.

Me neither ... sounds bogus.

>> Title                |ZCTextIndex      |0.0000128|    77809.46
> 
> This should be removed:  there is no valid use case for doing a
> full-text search restricted only to the title.

I'm pretty amazed that this is a ZCTextIndex as well. I always thought 
it was a FieldIndex.

>> Description          |ZCTextIndex      |0.0000116|    86241.39
> 
> Again, should be removed.

Right.

>> getEmail             |ZCTextIndex      |0.0000113|    87849.05
> 
> Should *definitely* be removed:  how can you do full-text search on an
> e-mail address?

Surely this is application specific too? I don't think Plone has such an 
index.


>> SearchableText       |TextIndex        |0.0000113|    88466.69
> 
> Where did this one come from?  The 'SearchableText' above is a ZCTextIndex.

It certainly is in vanilla Plone.

Martin


-- 
Author of `Professional Plone Development`, a book for developers who
want to work with Plone. See http://martinaspeli.net/plone-book



More information about the Zope-Dev mailing list