为了提高查询速度,我认为应该将ID和Stu_no联合起来建立聚集索引,但我不知道怎么用两个字段联合建立聚集索引(我在SQL里用这两个字段联合建立聚集索引时提示无法建立,因为不满足其条件),究竟能不能这样做。
还有一个方案是把Stu_no做成非聚集索引。请大虾们给个提示,究竟哪种方案更能提高查询的速度。
还有就是我更新时也是以Stu_no为条件的,平衡查询和更新的效率,有究竟选用那种方案。
8 个解决方案
#1
CREATE Clustered Index NOIX
ON dbo.TableName
(ID,Stu_No)
ON dbo.TableName
(ID,Stu_No)
#2
我刚把Stu_no设为非聚集索引,速度比没有建非聚集索引时快了很多倍(这个表有26万条记录哦).不知道建成聚集索引会跟快一点呢
#3
只能一个字段吧
#4
聚集索引确定表中数据的物理顺序。聚集索引类似于电话簿,后者按姓氏排列数据。由于聚集索引规定数据在表中的物理存储顺序,因此一个表只能包含一个聚集索引。但该索引可以包含多个列(组合索引),就像电话簿按姓氏和名字进行组织一样。
#5
我是直接在SQL2000里建的,它的SQL Script是
CREATE UNIQUE CLUSTERED
INDEX [PK_pro_process_over] ON [dbo].[pro_process_over] ([autoId], [stu_no])
WITH
DROP_EXISTING
ON [PRIMARY]
提示无法建立,已现有的条件不符合,不知道是什么原因
CREATE UNIQUE CLUSTERED
INDEX [PK_pro_process_over] ON [dbo].[pro_process_over] ([autoId], [stu_no])
WITH
DROP_EXISTING
ON [PRIMARY]
提示无法建立,已现有的条件不符合,不知道是什么原因
#6
是啊,我是想建立聚集的组合索引,因为我的stu_no不唯一,只有这个方法了
#7
平衡查询和更新的效率,有究竟选用聚集索引还是非聚集索引(我的更新也挺频繁的)。
#8
1.建立一个聚集索引
create unique clustered index
IX_1 on tablename(autoid)
2.建立一个非聚集索引
create index
IX_2 on tablename(autoid,stu_no)
create unique clustered index
IX_1 on tablename(autoid)
2.建立一个非聚集索引
create index
IX_2 on tablename(autoid,stu_no)
#1
CREATE Clustered Index NOIX
ON dbo.TableName
(ID,Stu_No)
ON dbo.TableName
(ID,Stu_No)
#2
我刚把Stu_no设为非聚集索引,速度比没有建非聚集索引时快了很多倍(这个表有26万条记录哦).不知道建成聚集索引会跟快一点呢
#3
只能一个字段吧
#4
聚集索引确定表中数据的物理顺序。聚集索引类似于电话簿,后者按姓氏排列数据。由于聚集索引规定数据在表中的物理存储顺序,因此一个表只能包含一个聚集索引。但该索引可以包含多个列(组合索引),就像电话簿按姓氏和名字进行组织一样。
#5
我是直接在SQL2000里建的,它的SQL Script是
CREATE UNIQUE CLUSTERED
INDEX [PK_pro_process_over] ON [dbo].[pro_process_over] ([autoId], [stu_no])
WITH
DROP_EXISTING
ON [PRIMARY]
提示无法建立,已现有的条件不符合,不知道是什么原因
CREATE UNIQUE CLUSTERED
INDEX [PK_pro_process_over] ON [dbo].[pro_process_over] ([autoId], [stu_no])
WITH
DROP_EXISTING
ON [PRIMARY]
提示无法建立,已现有的条件不符合,不知道是什么原因
#6
是啊,我是想建立聚集的组合索引,因为我的stu_no不唯一,只有这个方法了
#7
平衡查询和更新的效率,有究竟选用聚集索引还是非聚集索引(我的更新也挺频繁的)。
#8
1.建立一个聚集索引
create unique clustered index
IX_1 on tablename(autoid)
2.建立一个非聚集索引
create index
IX_2 on tablename(autoid,stu_no)
create unique clustered index
IX_1 on tablename(autoid)
2.建立一个非聚集索引
create index
IX_2 on tablename(autoid,stu_no)