数据库表怎么设计?考核打分表,有10个人对1000个人针对50个指标打分,一次考核就要向表中插入50万条记录,这样下去一年的考核数据启不把表冲爆?
10*1000*50=50万条记录
每次都要插入50万条记录,太可怕了
怎样合理设计表?

解决方案 »

  1.   

    如果指标固定,不是指月中、月末、季度、年度考核.
    可以设计成横向的id1 , id2 , dt , zb1,zb2...zb50ID1打分人ID
    ID2被打分人ID
    DT(月中、月末、季度、年度考核)
    ZB1,ZB2,...ZB50(指标数据)
      

  2.   

    哪有50万条?说得也特吓人了吧
    10个人+1000个人=1010人,放在“人表”中,表可设为(PId,PName,PKind等等)
    50个指标,放在“指标表”中,表可设为(VId,VName,VDesc等等)
    考核打分表,可设计为(PId1,PId2,SId1,SId2...SId50等等)
    SId1,SId2...SId50 分别对应指标表中所对应的指标的打分值
    这样每次操作1000条记录就可以了
      

  3.   

    多的不用,明白了吗?例如
    id1 id2 px zb1 ,zb2...zb100id1,id2的意思你知道了.
    px代表你某次的考核.
    zb1,zb2...zb100代表可能存在的100个指标.这样你应该明白了吧.
      

  4.   

    50万条不算多嘛,对于MS SQL来说应该影响不太,一年是几千万条记录的样子吧。 那些企业级的应用有时候一个表动辄上GB的容量,也运行的好好的。