解决方案 »

  1.   


    用来做游戏服的数据库,数据很多。但是那名DBA确实没有设置主键,而且ID的值还可以相同。
      

  2.   


    用来做游戏服的数据库,数据很多。但是那名DBA确实没有设置主键,而且ID的值还可以相同。
    ID值相同就不能只基于ID设置主键了,主键值必须唯一。至于他们为什么没有设置主键,这个就搞不懂了,不知道是不是跟他们业务有关系。
      

  3.   


    用来做游戏服的数据库,数据很多。但是那名DBA确实没有设置主键,而且ID的值还可以相同。
    ID值相同就不能只基于ID设置主键了,主键值必须唯一。至于他们为什么没有设置主键,这个就搞不懂了,不知道是不是跟他们业务有关系。我觉得奇怪的几点:
    1)Oracle数据表总共100个左右,但是没有一个表有设置主键或者索引。
    2)PHP连接Oracle数据库,很长时间没有连接,如果再连接,那么第一次会非常非常卡,非常卡,5~10秒的等待。
    3)Toad 连接Oracle又需要重新连接。
      

  4.   


    没有主键Primary Key,现在弄得很麻烦,经常出现两条ID一样的记录。而且插入记录有的时候会ID为空。
    DBA说如果设置主键会影响性能,因为占用存储空间。
      

  5.   


    用来当成主键的字段没有设置为主键,也没有加索引,更没有加唯一。
    而且ID的值是拼出来的,而不是自动递增序列产生的。
    比如一个无限极层级分类。
    表字段:ID,UPID,NAME,
    ID字段的记录是根据UPID ||  ( SELECT MAX(ID)+1 FROM TB WHERE UPID=$UPID)生成的
      

  6.   


    TB是现在讨论的表吗? 这个ID有没有其他表引用,如果没有现在还可以规范一下,解决数据冲突后设置成主键。
      

  7.   


    TB是现在讨论的表吗? 这个ID有没有其他表引用,如果没有现在还可以规范一下,解决数据冲突后设置成主键。
    今天问了决策者,确实主键、索引是必须要有的。不过现在还没有加,他说是等所有做完了之后,再加上主键、索引。