关于 索引的问题

十一月猪 2008-04-14 11:31:42
数据库 : sql server 2000
现在有table a , pk : col1
原来查询 a 的时候 , 会去扫描 col1 上的聚集索引
在这个基础上加 index , 非聚集的,
现在查询a的时候 ,就不扫描聚集索引了 , 只扫描非聚集索引 ,我现在要它去扫描聚集索引 ,该如何处理呢?
...全文
67 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
flairsky 2008-04-14
  • 打赏
  • 举报
回复
没有必要
-狙击手- 2008-04-14
  • 打赏
  • 举报
回复
强制索引

SELECT * FROM T1 (INDEX = IX_ProcessID) --IX_ProcessID你的索引名
dobear_0922 2008-04-14
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 dawugui 的回复:]
在这个基础上加 index , 非聚集的,
------------

貌似没有这个必要了.
[/Quote]

的确没有必要,,,
dawugui 2008-04-14
  • 打赏
  • 举报
回复
SQL Server 的聚簇索引与非聚簇索引


聚集索引:表中存储的数据按照索引的顺序存储,检索效率比普通索引高,但对数据新增/修改/删除的影响比较大。
非聚集索引:不影响表中的数据存储顺序,检索效率比聚集索引低,对数据新增/修改/删除的影响很小。
一张表只有一个聚簇索引,可有多个非聚簇索引。


下表描述聚簇索引与非聚簇索引的适用范围:

动作描述 使用聚集索引 使用非聚集索引
列经常被分组排序 应 应
返回某范围内的数据 应 不应
返回精确匹配的数据 不应 应
一个或极少不同值 不应 不应
小数目的不同值 应 不应
大数目的不同值 不应 应
频繁更新的列 不应 应
外键列 应 应
主键列 应 应

注:主键列如果是采用标识且经常用于范围查询,则适用聚簇索引,否则适用非聚簇索引。
dawugui 2008-04-14
  • 打赏
  • 举报
回复
聚簇索引
要建立一个聚簇索引,可以使用关键字CLUSTERED。记住一个表只能有一个聚簇索引。
CREATE CLUSTERED INDEX mycolumn_clust_index ON mytable(mycolumn)
如果表中有重复的记录,当你试图用这个语句建立索引时,会出现错误。但是有重复记录的表也可以建立索引;
你只要使用关键字ALLOW_DUP_ROW把这一点告诉SQL Sever即可:
CREATE CLUSTERED INDEX mycolumn_cindex ON mytable(mycolumn) WITH ALLOW_DUP_ROW
这个语句建立了一个允许重复记录的聚簇索引。你应该尽量避免在一个表中出现重复记录,
但是,如果已经出现了,你可以使用这种方法。

复合索引
要建立一个对多个字段的索引──复合索引──在索引建立语句中同时包含多个字段名。
下面的例子对firstname和lastname两个字段建立索引:
CREATE INDEX name_index ON username(firstname,lastname)
这个例子对两个字段建立了单个索引。在一个复合索引中,你最多可以对16个字段进行索引。

------------------------------

上面两种索引也许是你需要的?
ybkenan 2008-04-14
  • 打赏
  • 举报
回复
幫頂。有分沒?
dawugui 2008-04-14
  • 打赏
  • 举报
回复
在这个基础上加 index , 非聚集的,
------------

貌似没有这个必要了.
十一月猪 2008-04-14
  • 打赏
  • 举报
回复
谢谢各位 揭贴
十一月猪 2008-04-14
  • 打赏
  • 举报
回复
SELECT * FROM T1 (INDEX = IX_ProcessID)
---------------------
原来是 select * from t1(nolock) , 这样写的话 , nolock写哪里?
flairsky 2008-04-14
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 zjdyzwx 的回复:]
非聚集的是加在别的列上 , 比如col2上
[/Quote]

视你查询而定,索引是精确的问题,不是泛泛可以给你答案的
十一月猪 2008-04-14
  • 打赏
  • 举报
回复
非聚集的是加在别的列上 , 比如col2上

22,206

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧