当前位置:编程学习 > JAVA >>

用时间的毫秒值(Date.getTime())做为表的主键有什么缺陷

如题,或我再加一个随机的参数 --------------------编程问答-------------------- 一般来说是够用了,但是对于集群的大并发访问还是会有重复的情况
最好的办法还是 + sequence --------------------编程问答-------------------- 主键你用自动增长的或者序列就可以了,为什么要闲得没事弄这些呢? --------------------编程问答-------------------- 谁能说的清楚点,求解释 --------------------编程问答-------------------- 不用解释,因为没有这个必要。 --------------------编程问答-------------------- 你要用这个就用UUID呗!!! --------------------编程问答-------------------- 建议用序列 --------------------编程问答-------------------- 缺陷  查询索引 应该没有自增主键快吧~~
还有 就算毫毛级 一个大型网站 并发上去了~~就会重新主键重复导致数据插入不进去的 --------------------编程问答-------------------- 还是有重复的可能  +随机数还是有重复的可能,电脑都是伪随机数,一旦重复业务就出问题了,而且性能也不好
干嘛非要用它做主键呢,加一个序列好了 --------------------编程问答--------------------
引用 2 楼 bao110908 的回复:
主键你用自动增长的或者序列就可以了,为什么要闲得没事弄这些呢?



呵呵,老大发话了


--------------------编程问答--------------------
引用 2 楼 bao110908 的回复:
主键你用自动增长的或者序列就可以了,为什么要闲得没事弄这些呢?

可以知道这记录啥时候插进来的 --------------------编程问答-------------------- 是不是主键字段太长了 --------------------编程问答--------------------
引用 10 楼 x19881216 的回复:
引用 2 楼 bao110908 的回复:

主键你用自动增长的或者序列就可以了,为什么要闲得没事弄这些呢?

可以知道这记录啥时候插进来的



还有种可能,lz根本就不知道auto_increment或者sequence这两样东西。

话说,想知道何时插进来的,应该另起一个字段,专门保存。主键(理想状态下)应该和这条记录的任何信息无关,单单只是一个标识,一个流水号,没有任何含义。 --------------------编程问答-------------------- 为什么你不用UUID了? --------------------编程问答-------------------- 如果N条记录同时插的话,就报错噜。。为啥不用自动增长呢。。。而且如果改服务器的时间的话,也有可能重复。。 --------------------编程问答--------------------
引用 10 楼 x19881216 的回复:
引用 2 楼 bao110908 的回复:

主键你用自动增长的或者序列就可以了,为什么要闲得没事弄这些呢?

可以知道这记录啥时候插进来的


你加个插入日期字段不就也可以知道什么时候插进去的吗 --------------------编程问答-------------------- 主键设置为int型,自动增长,就ok,不要想得太复杂,干嘛在这里纠结呢?
补充:Java ,  Java EE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,