[TYPO3-dev] Typo3 Performance
Martin Kutschker
martin.t.kutschker at n0spam.blackbox.net
Sun Mar 4 16:48:41 CET 2007
Dmitry Dulepov schrieb:
> Martin Kutschker wrote:
>> Dmitry Dulepov schrieb:
>>> Hi!
>>>
>>> Martin Kutschker wrote:
>>>> Can you explain this model in short or give me a pointer to an
>>>> online resource?
>>>
>>> This model was proposed by Oracle DB expert Joe Celko. Generally it
>>> marks branches of the tree with consecutive numbers so that when you
>>> want to fetch root path or get the whole branch, you just need to
>>> issue query with two numbers. Example:
>>>
>>> |- C (3,4)
>>> |- B (2, 7)-|
>>> A(1,14)-| |- D (5,6)
>>> | |
>>> |- E (8,13)-|- F (9,10)
>>> |
>>> |- G (11,12)
>>
>> Quite interesting.
>>
>> I notice that several articles on this topic suggest to use table
>> locks (for Myisam) or transactions when updating the table. This makes
>> sense but forces us to deal with a Myisam vs Innodb issue plus a DBAL
>> issue.
>
> No need. Updates can be also done with one or two queries.
One: fine. Two: not so good. TYPO3 is currently sloppy with capsulating
changes in the data structure, but a complete update of a the page tree
structure must be protected.
> I see the issue with hidden/deleted pages only...
Why? Hidden pages must be updated instantly. Deleted pages might be
updated. But if we choose not to, we should add a recover tool for pages
that updates the nested set.
>> Still it's interesting to see which features of TYPO3 can be sped up
>> with queries on the nested sets.
>
> Realurl, for example :) It takes rootline. And any other function that
> requires to traverse tree (templavoila too).
I found a page with some tests. Interstingly a root line serach isn't
sped up by a nested set. But all operations that work on branches (like
clear real url cache or clear search index) might benefit.
Masi
More information about the TYPO3-dev
mailing list