INFORMATION
电商资讯
请问商城系统应如何设计ID(如用户、商品、订单等)生成规则?
作者:iMall 来源:知乎 浏览次数:7652

对于商城系统的ID生成问题,设计ID生成规则,需要考虑的问题有:

1、数据库自增,即从0开始,每次加1。在记录插入到数据库表时生成;这是mysql数据库的用户最多人的选择。不足之处是在新记录插入数据库前,并不知道它的值;第二个不足是无法在多个表记录间保持id唯一(某些系统会要求这点,这个理解起来有一定困难。)

2、GUID字符串:全局唯一标识符(GUID,Globally Unique Identifier)。GUID是一种由算法生成的二进制长度为128位的数字标识符。GUID主要用于在拥有多个节点、多台计算机的网络或系统中。在理想情况下,任何计算机和计算机集群都不会生成两个相同的GUID。GUID 的总数达到了2^128(3.4×10^38)个,所以随机生成两个相同GUID的可能性非常小,但并不为0。GUID一词有时也专指微软对UUID标准的实现。

不足是字段类型必须是字符串,排序和性能都不如数字类型。
3、时间戳:精确到毫秒,意味着当同一个毫秒有多条记录生成时,id就可能重复,导致新记录无法插入。

4、自定义函数
超级表格某些关键表的id的生成,有下列要求:
①高性能,最好是数字类型,而不是字符串;
②提前生成(而不是在插入数据库后才生成),即在用户输入页面时就生成;
③不但要求本表唯一,而且不能与其它表记录的id重复。因为有些公共的表会把来自不同表的记录的id记录在一起。

详情可以咨询下乐商软件商城系统,也许能帮到你。

01/19 2018