SQL2005禁用和启用索引

如果你在一张表上禁用一个群集索引,那么这张表就不能被用户访问。尽管如此,这些数据仍然保存在这张表中,但是它不能用于任何DML操作,除非这个索引重新建立或者删除掉。你可以使用ALTER INDEX REBUILD重新建立一个索引,你也可以使用CREATE INDEX WITH DROP_EXISTING语句启用一个禁用了的索引。 创建索引选择合适的可选项

  在这个技巧中,我将使用AdventureWorks数据库中的Person.Address表。

  禁用索引

  你可以通过不同的方式禁用索引。让我们逐个来介绍。

  1、 通过T-SQL禁用索引

  执行下面的T-SQL来禁用AdventureWorks数据库中的Person.Address 表的IX_Address_StateProvinceID索引。 探究SQL Server 2008的过滤索引

      USE AdventureWorks

  GO

  ALTER INDEX IX_Address_StateProvinceID ON Person.Address DISABLE

  GO

  -- Query to check Index Usage

  SELECT NAME AS [IndexName], TYPE_DESC AS [IndexType],

  CASE IS_DISABLED

  WHEN 0 THEN 'Enabled'

  ELSE 'Disabled'

  END AS [IndexUsage],

  FILL_FACTOR AS [FillFactor] FROM SYS.INDEXES

  WHERE OBJECT_ID = OBJECT_ID('Person.Address') ORDER BY IndexName, IndexUsage

  GO

 

2、 通过SMSS禁用索引

 

  打开AdventureWorks表的对象浏览器,直到你打开到Person.Address,接着打开索引,然后右键单击IX_Address_StateProvinceID(非唯一,非群集)并且从下拉菜单中选择禁用。这时将打开禁用索引对话框,点击OK就可以禁用索引。

  可以禁用SQL 2005和2008中的索引?

 

  你也可以像下面截图中那样,通过不勾选使用索引选项来禁用一个索引,这个选项在索引属性对话框的选项页面中。

  可以禁用SQL 2005和2008中的索引?

 

2、 通过SMSS禁用索引

  打开AdventureWorks表的对象浏览器,直到你打开到Person.Address,接着打开索引,然后右键单击IX_Address_StateProvinceID(非唯一,非群集)并且从下拉菜单中选择禁用。这时将打开禁用索引对话框,点击OK就可以禁用索引。

  可以禁用SQL 2005和2008中的索引?

 

  你也可以像下面截图中那样,通过不勾选使用索引选项来禁用一个索引,这个选项在索引属性对话框的选项页面中。

  可以禁用SQL 2005和2008中的索引?

 

启用索引

  你可以通过不同的方式启用索引。现在让我们逐个进行介绍。

  1、 通过ALTER INDEX REBUILD语句启用索引

      USE AdventureWorks

  GO

  ALTER INDEX IX_Address_StateProvinceID ON Person.Address REBUILD

  GO

  2、 通过CREATE INDEX WITH DROP_EXISTING语句启用索引

      USE AdventureWorks

  GO

  CREATE NONCLUSTERED INDEX [IX_Address_StateProvinceID] ON [Person].[Address]

  (

  [StateProvinceID] ASC

  )WITH (DROP_EXISTING = ON, FILLFACTOR = 80) ON [PRIMARY]

  GO

  3、 通过SSMS启用索引

  打开AdventureWorks表的对象浏览器,直到你打开到Person.Address,接着打开索引,然后右键单击IX_Address_StateProvinceID(非唯一,非群集)并且从下拉菜单中选择重新建立。这时将打开重新建立索引对话框,点击OK就可以 启用索引。

  可以禁用SQL 2005和2008中的索引?

 

  你也可以像下面截图中那样,通过选择使用索引选项来启用一个索引,这个选项在索引属性对话框的选项页面中。

  可以禁用SQL 2005和2008中的索引?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值