Re: database abstraction layer
| From: | Rene Veerman | Date: | Tue, 02 Feb 2010 23:17:50 +0000 |
| Subject: | Re: database abstraction layer | ||
| References: | 1 2 3 4 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-301755@lists.php.net to get a copy of this message | ||
and after the sleep(rand(1,3)) it might need a short loop like this;
$rnd = rand(1,99999); $a=0;
for ($i=0; $i<$rnd; $i++) { $a++ }
to further randomize the retry attempt..
On Wed, Feb 3, 2010 at 12:05 AM, Rene Veerman <rene7705@gmail.com> wrote:
> i haven't had the pleasure yet of writing for sites that generate so many
> hits/sec that
> they'd update the max value of any table at exactly the same time.
>
> i usually ask for the max value about 2 milliseconds before doing the
> insert.
> And if the insert fails, i can auto-retry via a wrapper function after
> sleep(rand(1,3));
> I dare say i could work this way at facebook <g> (not that i really want
> to, happy with where i am)
>
>
> On Tue, Feb 2, 2010 at 11:46 PM, Ashley Sheridan <ash@ashleysheridan.co.uk
> > wrote:
>
>> On Tue, 2010-02-02 at 23:19 +0100, Rene Veerman wrote:
>>
>> function getMax($table, $field)
>>
>>
>> If I saw this sort of code I'd be appalled! It's possibly the worst way to
>> get the auto increment value. You won't notice it testing the site out on
>> your own, but all hell will break loose when you start getting a lot of
>> hits, and two people cause an auto increment at the same time!
>>
>> Thanks,
>> Ash
>> http://www.ashleysheridan.co.uk
>>
>>
>>
>