[TYPO3-dev] Optimizing last 20 query

Staffan Ericsson staffan.ericsson at sverok.se
Sun Mar 18 11:35:27 CET 2007



John Angel skrev:
> Hi!
> 
> Can this be done faster?

SELECT pages.crdate, pages.title, tt_content.bodytext
FROM (SELECT pages.crdate, page.title, pages.uid
	FROM pages
	WHERE pages.pid IN (1000)
	AND pages.deleted = 0
	AND pages.t3ver_state !=1
	AND pages.hidden = 0
	AND pages.nav_hide = 0) AS cur_pages,
     (SLECT tt_content.bodytext, content.pid
	FROM tt_content
	WHERE tt_content.sys_language_uid = 0
	AND tt_content.deleted = 0
	AND tt_content.t3_ver_state !=1
	AND tt_content.hidden = 0) AS cur_content
WHERE cur_pages.uid = cur_content.pid
ORDER BY pages.crdate, DESC
LIMIT 0, 20


Might be more effecient as it filters data before the join, but at the
same time the query optimisier should do the same work.

.staffan


> 
> Here is the SQL query providing last 20 pages under page id "1000":
> 
> 
> SELECT SQL_NO_CACHE pages.crdate, pages.title, tt_content.bodytext
> FROM tt_content
> INNER JOIN pages ON tt_content.pid = pages.uid
> WHERE pages.nav_hide =0
> AND pages.pid
> IN ( 1000 )
> AND tt_content.sys_language_uid =0
> AND tt_content.deleted =0
> AND tt_content.t3ver_state !=1
> AND tt_content.hidden =0
> AND pages.deleted =0
> AND pages.t3ver_state !=1
> AND pages.hidden =0
> ORDER BY pages.crdate DESC
> LIMIT 0 , 20
> 
> 
> Many thanks,
> John




More information about the TYPO3-dev mailing list