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?