第十章 创建和使用索引

CREATE TABLE authors(
auth_id int IDENTITY(1,1) NOT NULL,
auth_name   varchar(20) NOT NULL,
auth_gender tinyint NOT NULL,
auth_phone   varchar(15) NULL,
auth_note   varchar(100) NULL
)

【例10.1】在authors表中auth_phone列上创建一个名称为Idx_phone的唯一聚集索引,降序排列,填充因子为30%,输入语句如下。
CREATE UNIQUE CLUSTERED INDEX Idx_phone 
ON authors(auth_phone DESC)
WITH
FILLFACTOR=30;

【例10.2】在authors表中auth_name和auth_gender列上创建一个名称为Idx_nameAndgender的唯一非聚集组合索引,升序排列,填充因子为10%,输入语句如下。
CREATE UNIQUE NONCLUSTERED INDEX Idx_nameAndgender
ON authors(auth_name, auth_gender)
WITH
FILLFACTOR=10;

【例10.3】使用存储过程查看test数据库中member表中定义的索引信息,输入语句如下。
USE test;
GO
exec sp_helpindex 'authors'

【例10.4】使用DBCC SHOW_STATISTICS命令来查看authors表中Idx_phone索引的统计信息。
DBCC SHOW_STATISTICS ('test.dbo.authors', Idx_phone)

【例10.5】将authors表中的索引名称idx_nameAndgender更改为multi_index,输入语句如下。
USE test;
GO
exec sp_rename authors.idx_nameAndgender', 'multi_index','index' 

【例10.6】删除表authors中的索引multi_index,输入语句如下。
USE test;
GO
exec sp_helpindex 'authors'
DROP INDEX authors. multi_index
exec sp_helpindex 'authors'

--课后练习
--create database index_test
--use index_test
--create table writers
--(
-- w_id int primarwritersy key not null,
-- w_name varchar(255) not null,
-- w_address varchar(255),
-- w_age char(2) not null,
-- w_note varchar(255)
--);

--为w_id创建索引
--use index_test
--create unique clustered index UniqIdx
--on writers(w_id desc)

--use index_test
--create unique nonclustered index NAIdx
--on writers(w_name,w_address)

----重命名
--use index_test
--go
--exec sp_rename 'writers.NAIdx','muti_index','index'

--查看muti_index索引的统计信息
--dbcc show_statistics('index_test.dbo.writers',muti_index)

--删除索引
--use index_test
--drop index writers.muti_index

你可能感兴趣的:(SQL,Server,2012)