In the 4.6 model -- even with the backport url_alias patch -- I altered drupal_lookup_path() to disallow any lookups that didn't come from path aliases.

Since I set the rules for that site, it meant paths were only checked if:

1) $path == 'taxonomy/%'
2) $_GET['q'] == $path

This prevented the menu, node links, comment links, et. al. from being processed.  It cut path lookups from 200+ to under 10 for node page views.

Now this isn't a universal solution, but it may suggest a plan.

- Ken Rickard
agentrickard

>>> Maybe we should run the modified devel.module on drupal.org to
>>> see what the most expensive queries are?
>>
>> SELECT * FROM url_alias, I'd be surprized if that had changed. The
>> individual query is very short but there are probably 120 per page
>> on average.
>
> Are there reasonable assumptions we can make about certain URLs?
> Like, can we assume that people don't want to alias '?q=qcomment/
> reply/123'?  Or ?q=contact?  Or q=user/register and ?q=user/
> password?  If we can make some simple assumptions, we might be able
> to save a helluvalot database queries (per page view) ...  Food for
> thought.

Any thoughts here?