如题:
数据库A表的数据量上百万条,A表里有Z字段是存放‘随机编码’(不重复的),再添加新记录的时候每次都要遍历整表,判断新添加的记录生成的‘随机编码’和Z字段中的‘随机编码’不重复现在由于数据量上百万条了,每次添加新记录都会很慢,甚至没反映。麻烦大家帮忙看下,该怎么做才能让添加新记录很快跟一开始的时候一样???急~~急~~急~~~~

解决方案 »

  1.   

    随机编码?用newid() 不行吗?
      

  2.   

    随机编码直接使用 NEWID() ?如果只是一个随机码,就没必要在程序中生成
      

  3.   

    newid()?
      

  4.   

    因为这随机码是有指定的,多少位又不能包含哪几个字符,所以当初就没用newid() 现在数据量上百万条了,就出现了每次添加新记录都会很慢,甚至没反映。大家能不能再帮帮看有什么方法让它快起来???
      

  5.   


    能详细点吗?怎么加索引???例如:select * from 表 where 随机码 LIKE  新生成的随机码 
      

  6.   

    create nonclustered index 索引名 on 表名(字段名,字段名)
    =========================================================================================   

  7.   

    建议LZ不要使用随机编码。可以使用更加灵活的编码规则。比如 XXX-001,最后的数字部分可以通过程序控制自增。将最后一次的编码存在数据表里面,下次要生成新的编码时,直接对比上一次的编码即可。当然,编码这个字段建立唯一索引是必须的。