首页 > 学院 > 开发设计 > 正文

T-SQL 语句(七)—— 索引

2019-11-08 20:28:30
字体:
来源:转载
供稿:网友

T-SQL 语句(七)—— 索引

一、创建索引
CREATE INDEX IX_PRoduct_name ON product(product_name) -- 创建的索引默认为升序排列CREATE INDEX IX_product_name__age ON product(name,age) -- 创建复合索引CREATE UNIQUE INDEX IX_product_name ON product(name) -- 创建唯一索引CREATE CLUSTERED INDEX IX_id ON product(id) -- 创建聚集索引CREATE NONCLUSTERED INDEX IX_product_name ON product(name desc) -- 创建非聚集索引,倒叙排序CREATE INDEX IX_product_price_amount ON [order](price,amount) INCLUDE (discount) -- 创建包含性列索引-- 创建索引并制定其所在文件组ALTER DATABASE demo ADD FILEGROUP new_file_groupGOALTER DATABASE demo ADD FILE(NAME = new_file, FILENAME = 'D:/db/demo_new_file.ndf') TO FILEGROUP new_file_groupGOCREATE INDEX IX_fg ON product(store) ON new_file_group WITH( PAD_INDEX = ON, --启用填充索引 FILLFACTOR = 60 -- 创建填充因子 SORT_IN_TEMPDB = ON, -- 在tempdb存储临时排序信息 IGNORE_DUP_KEY = ON, -- 忽略索引的重复键值 STATISTICS_NORECOMPUTE = OFF -- 关闭自动重新计算统计信息 )GO
二、查看索引信息
EXEC sp_helpindex 'product'SELECT * FROM sys.indexesDECLARE @databaseid INTDECLARE @objectid INTSET @databaseid = DB_ID(N'demo')SET @objectid = OBJECT_ID(N'employee')-- 查看所有所有的碎片信息SELECT * FROM sys.dm_db_index_physical_stats(@databaseid,@objectid,null,null,null)
三、修改索引
ALTER INDEX IX_product_name ON product REBULD -- 重新生成索引,会删除原有索引 WITH( -- 设置索引填充 PAD_INDEX= ON, FILLFACTOR = 70)GOALTER INDEX IX_product_name ON product REORGANIZE -- 重新组织索引,不删除原有索引ALTER INDEX PK_prodcut ON product DISABLE -- 禁用索引GO
四、删除索引
DROP INDEX product.IX_product_name
五、索引视图

索引视图已经将视图实体化,视图里的查询语句的查询结果是保存在数据库的物理存储空间中的。创建索引视图的前提有:视图必须绑定到架构已经视图的索引里必须有一个是唯一的聚集索引。

CREATE VIEW view_order WITH SCHEMABINDING -- 架构绑定AS SELECT e.name,o.id,o.amount,o.payment,o.date FROM employee e JOIN [order] o ON e.id = o.employee_idGOCREATE UNIQUE CLUSTERED INDEX IX_order ON [order](id)GO
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表