[development] Re: InnoDB and accesslog/ watchdog

Brandon Bergren bdragon at mailsnare.net
Wed Aug 16 14:29:58 UTC 2006


On Wed, 16 Aug 2006, Gerhard Killesreiter wrote:

> Dries Buytaert wrote:
>> 
>> On 15 Aug 2006, at 15:00, Gerhard Killesreiter wrote:
>> 
>>> I can only guess why these tables were chosen: they have a lot of writes. 
>>> Locking would only be an issue for the cache table.
>> 
>> And the variables table.
>> 
>> Modules that frequently use variable_get()/variable_set() to store 
>> temporary results can bring your site to halt.  variable_set() requires 4 
>> SQL queries, and does a table lock that is likely to stall other Apache 
>> clients.  :-)
>
> Who writes such modules? The only place that variable_set should be used is 
> on admin pages.
>
</lurk>
Why not keep a global array of variables changed during the current 
request, and persist them during cleanup, instead of locking the table and 
persisting a single variable during each variable_set call?

That would make doing multiple variable_sets in one request about as 
expensive as a single call to variable_set, as well as providing atomicity 
for multiple variables tweaked in one request.
<lurk>


More information about the development mailing list