--- On Tue, 7/21/09, Kirk Ouimet <[email protected]> wrote:
> Can anyone recommend a good PHP function/class to generate
> GUIDs? I'm shifting from using auto-increment to using GUIDs -
> any advice for this type of change? Does a SQL lookup slow down
> using a GUID as a PK versus using an integer as a PK?

Database engines that use clustered indexes (data rows whose
primary keys are close in value are physically stored close
together on disk) will see a slowdown if you use any randomly
distributed value (including a GUID) as the primary key.  Inserts
are particularly bad, but reads can be problematic as well
because there's no locality to help in caching "nearby" values.

GUIDs can be useful as your application's key (which you would
set as an additional unique index on the table), but for the
database engine, you're usually better off using a consistently
increasing value like an auto-increment as the primary key.

Note, of course, that "usually" != "always", you may find some
particular edge case where the rule of thumb doesn't apply.


_______________________________________________

UPHPU mailing list
[email protected]
http://uphpu.org/mailman/listinfo/uphpu
IRC: #uphpu on irc.freenode.net

Reply via email to