Re: database abstraction layer
| From: | Ashley Sheridan | Date: | Tue, 02 Feb 2010 23:11:45 +0000 |
| Subject: | Re: database abstraction layer | ||
| References: | 1 2 3 4 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-301754@lists.php.net to get a copy of this message | ||
On Wed, 2010-02-03 at 00:05 +0100, Rene Veerman 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
> >
> >
> >
I saw it happen on a site that was getting only about 3000 hits a day.
It just takes the right combination of circumstances and it all goes
pear shaped. You really should get out of the habit of doing it.
Thanks,
Ash
http://www.ashleysheridan.co.uk