想跟大家讨论一下,表关键字段应该设什么类型,可提速又方便!
我手上有一个项目,是一个总部加6个分公司同时运行同一系统(各有各的独立服务器),要求总部必须有6个分公司的所有业务数据,档案部分统一由总部管理。
现在我所有的表关键字段都采用Varchar(40), 所有档案表、业务主从表都是采用Select NewID()来获得主键值,这样做的话,分公司数据汇总的时候,不必须考虑关键字段数据重复性的问题。
数据量大概做算一分公司一个业务主表一年10万条记录(30个字段),多个业务分表一年6倍至10倍于主表的记录条数。 所在在总部数据库中业务主表要记录60万条记录,多个业务分表都要记录360万条记录。
别人建议“把表主键字段类型由Varchar(40)更改为int,再与“分站”标示字段组后联合关键字段,这样做又可以提速,又可以减少数据存储空间”。
大家觉得如何?
[解决办法]
现在存储空间应该不是问题了
Guid作为关键字比较合适, 各业务子系统的主键越短越好. 总部与分站同步比较时判断也快.