[thelist] MySQL queries and AUTO_INCREMENT
sbeam
sbeam at onsetcorps.net
Fri Apr 7 13:16:08 CDT 2006
On Friday 07 April 2006 01:40 pm, Matt Warden wrote:
> > I agree with John Brooking: Use a separate sequence field, and
update
> > it. Or, if the number of records will be not too large, use ORDER BY
> > RAND() LIMIT 1.
>
> I would suggest this either way. I'm not sure issuing 3 queries over
> the network is more efficient than using this method (although, I
> haven't done any testing).
Just curious - as an alternative - would there be any downside to just
using a result set pointer/cursor - something like
$res = $db->query("SELECT id, file_name FROM photos");
$pic = $res->fetchRow(DB_FETCHMODE_ASSOC, rand(1, $res->numRows());
$res->free();
(Using PHP/PEAR because thats just what I'm used to. You could do the
same thing lots of ways)
So you are only doing one rand() in the application code and not 10^4
rand's in SQL plus a sort.
--
# S Beam - Web App Dev Servs
# http://www.onsetcorps.net/
More information about the thelist
mailing list