从我的网易博客移动。。。。。
SQL SERVER 如果在建表的时候建立了主键,没有建立聚簇索引,那么久默认了主键是聚簇索引。坑爹啊。这样,这么重要的聚簇索引就到了主键上了。要修改麻烦死了。。
研究了半天,发现有两种方法:
首先说下我建立的表:
订单详情 T_DetailOrder
字段名称 |
说明 |
数据类型 |
主键 |
DO_ID |
主键 |
Bigint |
是 |
O_ID |
订单号 |
Bigint |
|
Mname |
菜名 |
Nvarchar(20) |
|
Mprice |
价格 |
Float |
|
|
|
|
|
为订单详情做O_ID的聚簇索引。
第一种建聚簇索引的方法:
删除表后重新建立表:
直接在建立的时候建立聚簇索引
第二种方法:
由于有主键,默认主键为聚簇索引,删除主键上的聚簇索引失败。只有先删除主键,再建立主键,然后建立聚簇索引。
获得表的主键 :exec sp_pkeys T_DetailOrder,得到主键为PK_T_DetailOrder
删除主键:alter table T_DetailOrder DROP CONSTRAINT PK_T_DetailOrder
建立主键和聚簇索引:
这样,就建立好O_ID的索引了。。坑爹的SQL SERVER 。。。。