On Mon, 2002-08-19 at 11:46, Marcel Maatkamp wrote:
> This bug is mentioned on butracker
> 
> MMBase has a performance-issue regarding MMObjectNode::getRelated() and 
> MMObjectNode::getRelated(type) where type is a builder. 
> My current proposed sollution for getRelated(type) works as follows:
>   - query with a multilevel from this_node.parent -> type, this will return virtual 
>nodes (contain otype and number)
>   - check wether the node is in the nodecache, if so, return that, otherwise 
>remember the number 
>   - query the builder in 1 search the uncached nodes, fetch those and fill in the 
>real values (this will put the
>     nodes automatically into the cache
>  - returns the nodes
> 
> This solves the inheritance-problem, queries the remaining nodes in 1 extra query 
>and fill the nodecache.
> To get the previsous example, the related image-node, if not already in cache, will 
>be retreived in 2 queries
> instead of 40.002..
> 
> The code is backwards-compatible. The only case in which it is not, are inherited 
>builders, which only Rob is 
> currently using. 
> 
> There is one point of discussion, which is the Multilevelcache to speed things up a 
>bit more.If i have time,
> I will try to incorporate that one too. 
> 

+1

since this is a performance issue and a bugfix as well, you should 
consider committing it to the 1.5 branch also (first include the
multilevelcache,please ;-))

Regards,

Mark Huijser


Reply via email to