日度归档:2019年1月12日

mssql sqlserver 高并发系统生成全局标识列的方法分享


摘要:
公司准备新上线一个系统,据说并发量非常大,我们首先要解决的问题是:处理订单号的生成方式,如下所示:
实验环境:sql server 2008 R2



方法1:使用数据库标识列identity的方式

使用此方式不必注意标识列的重复和生成问题,生成标识别由系统自动生成,我们只需根据分库的数量规划好标识列的种子和标识列的起始值



方法2:使用单独的数据库生成标识列

单独的顺序表:
当我们需要标识号时,就插入顺序表,然后将生成的唯一ID返回给客户端。
使用单独顺序表的方式,每次生成标识号都会消耗相应的性能。