Re: [PHP] database abstraction layer

[email protected] (Ashley Sheridan)
Newsgroups php.general
Message-ID <1265152305.2261.263.camel@localhost>
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
> <[email protected]>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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.