sql2000我想在一个建好的表中添加聚集索引,可是发现主键已经变成聚集索引了,不能填加了,难道有主键就不能定义聚集索引吗?请问有什么解决方法吗?可以不删除主键,同时也可以添加聚集索引,请大家帮帮忙,谢谢

解决方案 »

  1.   

    如果该表上尚未创建聚集索引,且在创建 PRIMARY KEY 约束时未指定非聚集索引,PRIMARY KEY 约束会自动创建聚集索引
      

  2.   


    --排序(聚集索引)
    create clustered index inx_entry_stock_bi on entry_stock_d(entry_stock_bi)--创建非聚集索引create nonclustered index inx_entry_stock_on entry_stock_d(entry_stock_bi)--主键
    alter table entry_stock_d add primary key nonclustered--主键且非聚集
    (
    entry_stock_bi,aid
    )
      

  3.   

    sql server 在默认情况下,会自动把主键设置为聚集索引.
      

  4.   

    聚集索引唯一,表中记录的物理顺序。
    SQL 自动为 表的主键建立 聚集索引。
    表的其他索引用 非聚集索引。
    楼主为什么一定用 聚集索引呢,非聚集索引和聚集索引的速度 基本一样的。
      

  5.   


    聚集索引对数据的操作(增,删,改)的性能有很大的影响。如果是需要频繁的对某列进行修改,则不建议在此列上建聚集索引。因为每做一次修改,sqlserver就要重新组织一次索引数据