主键id增长

yiling0906 2009-03-09 05:12:42
现有客户端数据库,每个表的主键不能设置为自增长,因为要时时或间歇的向服务器更新或插入数据,然后服务器端数据库再向其他客户端数据库插入或修改数据,一个分布式的程序设计。实现各个客户端数据的同步。
不知道这个数据库表怎么设计主键最好,用INT型。请高手指教一下,怎么设置主键
谢谢!
...全文
106 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
jinjazz 2009-03-09
  • 打赏
  • 举报
回复
guid 默认newid,sql表字段类型为uniqueidentifier
gui0605 2009-03-09
  • 打赏
  • 举报
回复
一天上千条不算什么
yiling0906 2009-03-09
  • 打赏
  • 举报
回复
guid有一定道理,但这是个车辆进程管理系统,估计日志一天就上千条,或许还不止。怕的是查询速度太慢。不知道还有没有
其它更好的方式。我想的是建一张表,可以自增长,放到服务器,专门用来生成主键,要新增的时候获取一个id,但这样每次都要
去操作主服务器,怕影响性能。而且还存在有不更新主服务的数据,这样就麻烦了,各位帮帮忙,想个好的解决方法啊。谢谢了
Stephen_Kang 2009-03-09
  • 打赏
  • 举报
回复
我是学习软件开发的,依照我现在的学习来看,应该给要设置为主键的列,加一个约束就行
alter table 所在表名
add constraint PK_列名 primary key (列名)
我是新手,可能有很多不知道,在这,只是提下自己的意见,谢谢!
wuyq11 2009-03-09
  • 打赏
  • 举报
回复
可参考 PetShop 4.0
vrhero 2009-03-09
  • 打赏
  • 举报
回复
分布式数据库GUID是最佳选择...其性能损失可以忽略不计...成本远远小于你自己建立一套分布式标识维护机制...

就算你要自己建立也不能用int型,用字符串更容易控制...
limpid_123 2009-03-09
  • 打赏
  • 举报
回复
mark
hon 2009-03-09
  • 打赏
  • 举报
回复
考虑guid,它是全球唯一的,每个表的记录的guid 都不一样。但分析数据时费劲。数据量大时影响性能。
北京的雾霾天 2009-03-09
  • 打赏
  • 举报
回复
你可以使用Guid作为数据表的主键。默认值设置为NewID(SqlServer)。
pztx1992 2009-03-09
  • 打赏
  • 举报
回复
create table test
(
id int primary key ;
name varchar(20)
)



//不明白为什么不使用identity(1,1),要时时或间歇的向服务器更新或插入数据 貌似有了自动增加值更方便吧!

110,546

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧