最近在作SQL Server数据库性能优化,所以复习下一索引、视图、存储过程等知识点。本篇为索引篇,知识整理来源于互联网。sql
索引加快检索表中数据的方法,它对数据表中一个或者多个列的值进行结构排序,是数据库中一个很是有用的对象。数据库
索引的建立性能优化
#1使用企业管理器建立性能
启动企业管理器--选择数据库------选在要建立索引的表------在表的下拉菜单中选择索引---在快捷菜单中选择新建索引--优化
在新建索引对话框中单击“添加”按钮,弹出“从列表中选择列”,在该对话框中选择要添加到索引键的表列设计
单击肯定返回新建索引对话框,再点击肯定完成索引的建立。对象
#2使用T-sql语句建立索引。排序
create index语句为给定表或视图建立一个改变物理顺序的汇集索引,也能够建立一个具备查询功能的非汇集索引。语法格式以下:索引
create [unique] [clustered] [nonclustered] index index_name数据库性能优化
on {tabel/view} (column[dese/asc][....n])
注: [unique] [clustered] [nonclustered]表示要建立索引的类型,以此为惟一索引,汇集索引,和非汇集索引,当省略unique选项时,创建非惟一索引.当省略clustered,nonclustered选项时.创建汇集索引,省略nonclustered选项时,创建惟一汇集索引。
使用索引虽然能够提升系统的性能,加强数据检索速度,但它须要占用大量的物理存储空间,创建索引的通常原则以下:
(1)只有表的全部者能够在同一表中建立索引。
(2)每一个表中只能建立一个汇集索引。
(3)每一个表中最多能够建立249个非汇集索引。
(4)在常常查询的字段上创建索引。
(5)定义text,image,bit数据类型的列上不要创建索引。
(6)在外间上能够创建索引。
(7)在主键列上必定要创建索引。
(8)在那些重复的值比较多,查询较少的列上不要创建索引。
查看索引
#1使用企业管理器查看索引,步骤以下:
(1)启动SQL Server management Studio并链接到SQLServer 2008数据库
(2)选择指定的数据库,|展开要查看索引的表。
(3)右击该表,在弹出快捷菜单中选择‘设计’命令
(4)弹出‘表结构设计’对话框,右击该对话框,在弹出的快捷菜单中选择‘索引/键’命令
(5)打开“索引/键”对话框,在对话框左侧选中某个索引,在对话框的右侧就能够查看此索引的信息,并能够修改相关信息。
#2使用系统存储过程查看索引,语法格式以下:
use database_name
EXEC Sp_helpindex table_name
#3利用系统表查看索引信息
查看数据库中指定表的索引信息,能够利用该数据库中的系统表sysobjects和sysindexes进行查询,系统表sysobjects能够根据代表查找到索引表的ID号,再利用系统表sysindexes根据ID号查找到索引文件的相关信息。
索引的修改
#1使用企业管理器修改索引。
#2使用T-SQL语句更改索引名称,语法格式以下:
use database_name
exec sp_rename ‘table_name.old_name’ ‘new_name’
注:要对索引进行重命名时,须要修改的索引名格式必须为“表名.索引名”
索引的删除
#1使用企业管理器删除索引
#2使用T-SQL语句删除索引,语法格式以下:
drop Index table_name.index_name,.....n
注:drop index语句不能删除经过PRINARY KEY和UNIQUE约束建立的索引,若要删除该约束相应的索引,请使用带有DROP CONSTRAINT子句的ALTER TABLE.