[development] Two performance improvements

Jakub Suchy jakub at rtfm.cz
Tue Jul 11 20:06:34 UTC 2006


> You can create a test site and populate it with as many nodes as you  
> need using the generate-content.php script that ships with  
> devel.module.  There are other scripts in there for creating users,  
> taxonomy terms and even path aliases.  Devel module is also great for  
> timing db queries.

Hi,
i started debugging one of my sites using Drupal 4.6, which is taking
about 1second to generate, which is probably slow (using few modules and
18n for 6 languages).

I found this query is not using index:
SELECT locale, name FROM locales_meta WHERE enabled = 1 ORDER BY isdefault DESC, name ASC;
This may be fixed using:
ALTER TABLE locales_meta ADD INDEX(enabled);
But i am not experienced in developing Drupal core yet, so could
somebody adopt this issue and add it to CVS please?

This query is executed more than 11 times every time:
SELECT s.lid, t.translation FROM locales_source s INNER JOIN locales_target t ON s.lid = t.lid WHERE s.source = '' AND t.locale = 'cs'
I don't understand where may appear empty locale string and can't
imagine how to debug this, can anybody help?

I also found devel.module measuring very unreliable in my opinion. The
slow queries are logged on random basis, query A executes in 50ms first
time and in 1ms second time...

Jakub Suchy


More information about the development mailing list