如果用户表分布在不同的服务器上,自增int型ID将面临一个问题:如何自增并保证全局唯一?
用GUID是解决这个问题的简单办法,不然你就要写程序来生成全局唯一的int型ID,而不是让数据库自动自增。
http://web.com/user/GUID 也是可以实现的,只是不好记,但为了友好易记的url,一般用字母或数字别名。
http://web.com/user/GUID 也是可以实现的,只是不好记,但为了友好易记的url,一般用字母或数字别名。
是的,就是这个意思
请教如何做别名。。如果在表里放一个别名字段,那岂不是这个别名字段也要求唯一性?
另外在这个链接http://hi.baidu.com/tianhuimin/item/ba3b4f448321db2211ee1e74
(貌似也没什么友好性哈)
看到这么一段
“
URL显得不友好,我觉得这多少是你的INT情结造成的惯性思维,其实,和INT类型相比,UUID才是最自然的主键选择,注意,我这里用的是自然这个形容词,仔细体会一下你能理解我的意思。另外,很多时候,URL本身就不需要友好,比如,一个电子商务网站,按照INT友好的URL说法,她的订单URL大概是下面这个形式的:/order.php/id/123,我要说明的是,这样是很友好,但是有些太友好了,友好的甚至不安全,比如说,我早晨下一个订单,发现URL是/order.php/id/1000,晚上再下一个订单发现URL是/order.php/id/2000,那么我就可以估计出此网站一天的订单数大致是1000左右,甚至能大体估计出它的销售额,而这些数据往往都是重要的商业秘密。使用UUID就没有这个顾虑。
”
是不是有道理呢
@莫莫[momo]:
是的,别名需要唯一性,但不要有序(自增是就一种有序)。添加别名时只需检查是否已存在同名。
使用友好URL是因为有这个需要,需要友好易记。
可以使用GUID,对于重要的可以用别名实现。