我知道这件事已经讨论过很多次了,我希望能为我的具体案例得到一些建议。
我正在开发一个社交网站,理论上应该可以在mysql数据库中记录数十亿张照片。
我想知道用'oij43oj54oi52j43i‘这样的字符串id替换记录的唯一BIGINT id是否是个好主意。
好处是:
其他表,如"photo_comments“,在引用照片时也可以使用相同的字符串id,例如:_comment_ photo _id=‘oij43oj54oi52j43i’;
考虑到这些,使用字符串ID是否是个坏主意?特别是对于我提到的第一个优势,这是一个有效的观点/优势/实践吗?
谢谢。
编辑:确保字符串是唯一的,可以通过将用户id附加到字符串中来完成,或者使用使用时间戳微秒的php uniqid()。
发布于 2012-07-30 17:54:50
如果您正在构建类似这样的东西,您应该从Instagram获取一个页面,使用一个UUID而不是顺序ID,这些都有很多优点,但最大的优点是它们是可扩展的和可共享的。
在大多数语言中都有一个简单的UUID库,甚至MySQL也有一个UUID生成器,可以作为最后的手段使用。
Instagram的版本不是纯UUID,而是类似的64位版本。
基本上,你应该用在Instagram上阅读这篇关于切分和ID的文章来获得灵感。
https://stackoverflow.com/questions/11725380
复制相似问题