rt

解决方案 »

  1.   

    UNIQUE 约束
    可使用 UNIQUE 约束确保在非主键列中不输入重复值。尽管 UNIQUE 约束和 PRIMARY KEY约束都强制唯一性,但在强制下面的唯一性时应使用 UNIQUE 约束而不是 PRIMARY KEY 约束: 非主键的一列或列组合。 
    一个表可以定义多个 UNIQUE 约束,而只能定义一个 PRIMARY KEY 约束。允许空值的列。 
    允许空值的列上可以定义 UNIQUE 约束,而不能定义 PRIMARY KEY 约束。
    PRIMARY KEY 约束
    表中经常有一个列或列的组合,其值能唯一地标识表中的每一行。这样的一列或多列称为表的主键,通过它可强制表的实体完整性。当创建或更改表时可通过定义 PRIMARY KEY 约束来创建主键。一个表只能有一个 PRIMARY KEY 约束,而且 PRIMARY KEY 约束中的列不能接受空值。由于 PRIMARY KEY 约束确保唯一数据,所以经常用来定义标识列。当为表指定 PRIMARY KEY 约束时,Microsoft® SQL Server™ 2000 通过为主键列创建唯一索引强制数据的唯一性。当在查询中使用主键时,该索引还可用来对数据进行快速访问。如果 PRIMARY KEY 约束定义在不止一列上,则一列中的值可以重复,但 PRIMARY KEY 约束定义中的所有列的组合的值必须唯一。
      

  2.   

    关于聚集索引和非聚集索引的效率可以参考csdn的讨论:
    http://community.csdn.net/Expert/topic/4430/4430562.xml?temp=.1002619
      

  3.   

    多谢wangdehao,那是个好帖子啊。我一口气留了6个言。我完全同意ashzs((可以包含中文字符)) ,跟我以前的经验差不多,他也是5年的专业DBA.卧虎藏龙啊。ashzs(