[development] Database queries on drupal.org
Larry Garfield
larry at garfieldtech.com
Fri Jul 28 18:06:41 UTC 2006
On Fri, July 28, 2006 11:58 am, Kieran Lal said:
>
> On Jul 28, 2006, at 8:49 AM, Larry Garfield wrote:
>
>> - Flushing the cache is non-cheap. I recall a while back someone
>> mentioning MySQL's "deferred" functionality, which could be useful
>> here.
>> (If it takes an extra half-second for a cache-flush to commit, that's
>> probably not a problem for the business logic.)
>
> Right. The key here is that we do not use auto-increment in this
> table. MySQL inserts and deletes assume auto-increments and there
> are some optimizations that can be done with the LOW-PRIORITY or
> QUICK for the DELETE command.
>
>> 147.989 1.08 137 cache_get DELETE FROM cache WHERE expire != D
>
> Could be:
> delete quick from cache where expire!=D;
> optimize cache;
>
> It's been suggested that Drupal can support conditional non-ANSI SQL
> statements that at DB specific. Not sure how to check for MySQL
> version and if that should be done only once so we can run MySQL
> specific queries.
>
> Cheers,
> Kieran
My thought would be something like db_query_lowpri(). The MySQL version
of that would do the necessary modifications before running db_query()
(INSERT DELAYED vs DELETE QUICK, or whatever), while the Postgres version
would simply pass it straight through (or do Postgres-specific "run this
whenever" modifications, about which I know nothing).
Dries has already vetoed dedicated insert and delete API functions, which
would have been the perfect place for a low-priority flag parameter. :-(
--Larry Garfield
More information about the development
mailing list