论坛首页 Java企业应用论坛

为了方便以后在各种数据库间移植,采用那种主键生成方式最好...

浏览 53016 次
该帖已经被评为精华帖
作者 正文
   发表时间:2004-01-13  
引用
但有很多时候,例如数据库里面的表大多数主键是sequence产生的时候,我们在select时,爱使用order by primary_key。这样的话随即主键是不能满足要求的。


你按照sequence排序的依据何在呢?其实你是想按照插入记录的时间顺序来排序,那么建议你用一个时间型字段来保存插入时间,这种控制比使用sequence可靠的多。
0 请登录后投票
   发表时间:2004-01-14  
唯一性可以采用唯一索引来解决。
0 请登录后投票
   发表时间:2004-02-27  
hibernate的文档中也说了,native方法能够尽量使用选择的数据库本身的机制。
0 请登录后投票
   发表时间:2004-02-27  
native方法能够尽量使用选择的数据库本身的机制。

apache的ojb更彻底,用私有的系统表控制主键,就没有移植的问题了。
0 请登录后投票
   发表时间:2004-03-02  
我个人在开发程序的时候,总是喜欢把主键用id,int型,并且是自动增长的,可能是MYSQL用多了的原因,但看ROBBIN的实例,几乎没有这个类型的设计,大家也谈炎自动增长的优缺点,让我也重新认识一下它
0 请登录后投票
   发表时间:2004-03-05  
从理论上讲uuid 肯定最快,也应该好移植,但是好像不是所有数据库都支持啊。
我在informix上就试不成功。
但使用native 每次insert都要执行两句SQL,很影响速度啊。
0 请登录后投票
   发表时间:2004-03-05  
native是uuid吗?你再仔细看看参考手册吧。
0 请登录后投票
   发表时间:2004-03-07  
robbin 写道
native是uuid吗?你再仔细看看参考手册吧。

可能我没有说清,robbin误会我的意思了,我是说我在informix上用uuid不成功,只好用native,但又觉得native慢
0 请登录后投票
   发表时间:2004-05-11  
我想问一下:就数据库的查询效率而言,递增的int主键应该是最快的吧?是不是应该尽量用int作为主键呢?
0 请登录后投票
   发表时间:2004-05-13  
用assigned做主键,能确保返回的值是唯一的吗?
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics