to 自己控制ID增长 一般如何生成新的ID? ------------------------------- 去表里取最大ID,然后加步长(如1)就是新ID.
to 去表里取最大ID,然后加步长(如1)就是新ID. 若表中数据比较大,如有十几万条数据,通过MAX操作获取新的ID的方法好像会比较慢。
to 去表里取最大ID,然后加步长(如1)就是新ID. 若表中数据比较大,如有十几万条数据,通过MAX操作获取新的ID的方法好像会比较慢。 可以获取14位或者更多位的一个随即数,然后再与某些特定的字符一起组成。 以前我基本上是这样实现的。
to 看你的数据量和是什么类型的数据操作了,如果是数据量很大而且是数据密集型的数据应用,就建议你自己控制id,这样比较自由,如果不是很大就直接设自增变量就中了。我赞成,数据量少不用提了,自增或自己控制都不会有什么问题。量大,自增省事,但自己不可控,不塌实。:)to 可以获取14位或者更多位的一个随即数,然后再与某些特定的字符一起组成。 以前我基本上是这样实现的。确保ID唯一性的方法在哪?随机生成数,可能会有重复。
一般如何生成新的ID?
一般如何生成新的ID?
-------------------------------
去表里取最大ID,然后加步长(如1)就是新ID.
若表中数据比较大,如有十几万条数据,通过MAX操作获取新的ID的方法好像会比较慢。
若表中数据比较大,如有十几万条数据,通过MAX操作获取新的ID的方法好像会比较慢。
可以获取14位或者更多位的一个随即数,然后再与某些特定的字符一起组成。
以前我基本上是这样实现的。
以前我基本上是这样实现的。确保ID唯一性的方法在哪?随机生成数,可能会有重复。
增加一个表记录当前需要申请ID表的详细情况.如表名employee,字段名EID,当前值1,增长频率1,最小值1,最大值99999.
每次申请去这个表取得.同时该表相应记录被增长.(建议存储过程去做)
==============================================================
优点:在前端每次新申请都会得到一个最新的未被占用的ID.效率较高(除自增长字段方法以外)
缺点:如果申请了没有使用该ID.那么该ID就会被浪费.对于表的ID字段有少许冗余.建议使用自增长字段.安全方便.
你这种方法我以前用过,不过没有你考虑的周到,当时我只是通过存储过程记录该表的最大ID.谢谢各位的建议。我还是赶紧结贴,人再一多,分太少,都不好意思分给大家了 :)