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
