[TYPO3-project-4-3] Improving the language overlay performance

Martin Kutschker masi-no at spam-typo3.org
Wed Sep 17 10:10:20 CEST 2008


Francois Suter schrieb:
> Hi all,
> 
> I have been working recently on extensions that can display any record
> from the TYPO3 database. As such I have had a lot to do with the overlay
> process with 2 main worries: performance and a useful API.
> 
> The performance is the most important topic. Right now the typical way
> to get a list of records is to use t3lib_db::exec_SELECTquery() and then
> call t3lib_page::getRecordOverlay() for each record. The latter queries
> the database each time, to retrieve the correct overlay. This would seem
> to be a performance killer on a high-traffic site, especially with
> USER_INT plug-ins (think search engines, for example).
> 
> I tried to develop an alternate process, by querying all the relevant
> overlays in one go, and matching them on the PHP-side (precise matching
> is necessary because of versioning), thereby reducing the number of
> calls to the database.

For the live version I think you can do the overlays in go on the DB
side with SQL functions. All merge rules can IMHO opinion be expressed
as IF (Mysq specific) or CASE (ANSI SQL) expression.s

Performance for previews doesn't matter so much, I think that it's more
important to have a switch that distincs between live and other WS to
make the best performance posssible for the former. If you can improve
the latter, fine.

Masi


More information about the TYPO3-project-4-3 mailing list