我应该使用序列ID数据库或uuid_short()吗?

时间:2013-04-23 06:43:09

标签: mysql sql database database-design uuid

我想为用户,网页,照片,相册,活动,评论等实现像id的facebook。它们都是唯一的id,其中大部分都可以从http://facebook.com/ {object_id}

访问

并喜欢或评论任何对象,只需简单地执行http://facebook.com/ {object_id} /评论或喜欢。

序列上的mysql实现:http://www.mysqlperformanceblog.com/2008/04/02/stored-function-to-generate-sequences/

uuid_short()上的mysql doc:http://dev.mysql.com/doc/refman/5.5/en/miscellaneous-functions.html#function_uuid-short

使用序列有哪些优缺点?

顺便说一句,如果我要实现序列,我会选择BIGINT作为字段类型。

1 个答案:

答案 0 :(得分:0)

如果您使用的是InnoDB,则数值每次都会超过UUID值。

假设您将此值设为主键,它将被群集。严格增加数值远远优于UUID。

有关更多信息,请参阅这些答案Mysql How do you create a clustered index?以及后续链接。这Google books link。并DBA.SE

注意:同样的推理也适用于SQL Server和Sybase