[TYPO3-core] RFC: #11271: Use 2 level cache for BEgetRootLine

Dmitry Dulepov dmitry.dulepov at gmail.com
Fri Jun 5 15:00:45 CEST 2009


Hi!

Martin Kutschker wrote:
> It won't. The code to invalidate the cache is missing (see thread).

I guessed so... I read the thread but it is hard to follow.

A problem with tagging will also be that moving 1B from my example will invalidate three caches (any page that has 1B in its rootline). In case of a large tree it can be a huge number of pages.

I think we should go another way. We are trying to cure the consequences of the problem, not the problem itself. The consequences is that BEgetRootline is slow. The cause is multiple queries. Should we cure the cause instead? I still think that we can add nested sets to our page tree and use that to fetch the whole rootline at once. It takes a single query on two indexed integer fields! (Well, we need to think about MPs too)

If pages are rearranged, updating nested set markers is easy (another single query). And we do not need any cache at all.

http://dev.mysql.com/tech-resources/articles/hierarchical-data.html

-- 
Dmitry Dulepov
In the TYPO3 blog: http://dmitry-dulepov.com/article/macintosh-vs-hackintosh.html
LinkedIn: http://www.linkedin.com/in/dmitrydulepov
Twitter: http://twitter.com/dmitryd
Skype: liels_bugs


More information about the TYPO3-team-core mailing list