如果用代码控制,那么在创建新对象的时候做以下控制
根据创建时间(比如字段CreateTime,正规的数据库设计都会有这个字段的)获得最后一次创建的那一行数据。比如这一行的ID是M_005,那么就将字符部分去掉,数字部分转换成int型再+1,然后再转回string,接着写个循环判断,如果长度小于3,那么在字符串前面加“0”,如此再加回M_,就可以实现这种ID的控制
但这种做法会消耗多一些的系统资源
设计表时对于唯一标识字段根据数据表的增长情况可以选择是自增还是NEWID(SQLSERVER);自增整型字段对于表数据行很大的情况下不建议用,因为总会有数值不够用的时候;但自增字段有个好处,对于流水记录可以很方便记录顺序记录;另外时间戳也是个不错的选择;另外选择NEWID(SQLSERVER)即GUID,唯一标识号,为字符串类型,这个有个好处就是不用担心字段值不够用,但此字段值占用表存储空间较大,在SQLSERVER中查询效率与自增列基本一样;一般用于关心顺序,但需要唯一标识一笔记录行,且数据表很大的情况,当然也可以什么表都使用此类型来做唯一标识(不考虑存储空间的话);
另外自增数值列可以用作表分区的方案,如(每100万分一个表),但NEWID不行;
(希望此信息对你有用)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)