我现在建立了十张表,每张表都用ID来做主键
但是别人问我为什么和有什么好处时,我答不出来
其实是可以不都用ID来做主键的
那什么时候可以用ID,什么时候又不用呢,有什么好处呢
关键是有什么好处
谢谢!!!

解决方案 »

  1.   

    你是说标识列吗?1,有时候是为了唯一区分一条记录来的,自己又懒得写算法去定义一个唯一列,或者觉得guid太长。比如没有唯一列,删除一模一样的记录时就麻烦。2,操作数据方便,虽然id没有什么逻辑意义, 但有时上服务器处理一些错误数据,id用起来还是方便的。3, 在数据随时间增长趋势平稳的表里, 一般可以预估算id区间来作时间块的过滤。
    比如
    平均每月有订单约50w, 从08年1月起用订单表,那么要查6月的订单,大致可以估算id的区间段为 id>=2000000(中间50w为了处理偏差) and id<=3500000
    或者预先统计一下6月的起始id值。那么在查询语句中 写上 where id.... 效率会有明显提升。3,其它