索引加快检索表中数据的方法,它对数据表中一个或者多个列的值进行结构排序,是数据库中一个非常有用的对象。

索引的创建

#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.

【SqlServer】SqlServer索引的创建、查看、删除的更多相关文章

  1. MySQL索引的创建、删除和查看

    MySQL索引的创建.删除和查看 此文转自http://blogold.chinaunix.net/u3/93470/showart_2001536.html 1.索引作用 在索引列上,除了上面提到的 ...

  2. ElasticSearch基本操作(安装,索引的创建和删除,映射)

    ElasticSearch基于Lucene的搜索服务器,支持分布式,提供REST接口,可用于云计算,可以实现实时搜索,开源免费.这时很官方的一句话,在使用之前,我们简单的介绍一下安装过程.在官网下载之 ...

  3. mysql索引创建&查看&删除

    1.索引作用 在索引列上,除了上面提到的有序查找之外,数据库利用各种各样的快速定位技术,能够大大提高查询效率.特别是当数据量非常大,查询涉及多个表时,使用索引往往能使查询速度加快成千上万倍. 例如,有 ...

  4. MySQL(一)索引的创建和删除

    索引是存储引擎用于快速找到记录的一种数据结构,这是索引的基本功能. 索引对于良好的性能非常关键.尤其是当表中的数据量越来越大时,索引对性能的影响愈发重要.接下来将讲述如何创建.查看和删除索引. 索引分 ...

  5. Mysql索引的创建与删除

    1. 创建索引 1.1 使用Alter创建索引 1 添加主键索引 特点:数据列不允许重复,不能为null,一张表只能有一个主键:Mysql主动将该字段进行排序 ALTER TABLE 表名 ADD P ...

  6. MySQL 5.6学习笔记(索引的创建与删除)

    1. 创建索引 1.1 创建新表时同时建立索引 语法: create table table_name[col_name data_type] [unique|fulltext|spatial][in ...

  7. mysql 查询指定数据库所有表, 指定表所有列, 指定列所有表 所有外键及索引, 以及索引的创建和删除

    查询指定 数据库 中所有 表 (指定数据库的,所有表) // 可以把 TABLE_NAME 换成 * 号, 查看更丰富的信息 SELECT TABLE_NAME FROM information_sc ...

  8. Lucene——索引的创建、删除、修改

    package cn.tz.lucene; import java.io.File; import java.util.ArrayList; import java.util.List; import ...

  9. linux 软件连接 创建/查看/删除

    1.建立软链接 具体用法是:ln -s 源文件 目标文件.源:实际存放文件的位置 当 我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的 ...

  10. git 常用命令 创建查看删除分支,创建查看删除tag等

      1. git 文档 https://github.com/progit/progit/blob/master/zh/02-git-basics/01-chapter2.markdown https ...

随机推荐

  1. Linux反编译

    转自:http://bbs.pediy.com/showthread.php?threadid=11315 一个简单的linux crackme的逆向前言    最不喜欢的就是写破解教程,酒后一时冲动 ...

  2. Linux echo 显示内容颜色

    Linux echo 显示内容颜色 https://www.cnblogs.com/kimbo/p/6816566.html #字体颜色:30m-37m 黑.红.绿.黄.蓝.紫.青.白 str=&qu ...

  3. Softmax 函数的特点和作用是什么?

    作者:张欣链接:https://www.zhihu.com/question/23765351/answer/98897364来源:知乎著作权归作者所有,转载请联系作者获得授权. softmax 回归 ...

  4. esUtil.h中的m变量报错

    引用了OpenGL ES自带的esUtil.h, 编译的时候报错:     typedef struct     {         GLfloat m[4][4];     } ESMatrix; ...

  5. Mongo如何在多个字段中查询某个关键字?

    If a text index has multiple fields in Mongo, how can I do a search in only one field since the weig ...

  6. [PureScript] Basic Data Constructors in PureScript

    PureScript types are very extensive and we are going to experiment with type constructors and how to ...

  7. 微信小程序 - 超出文字省略组件

    使用说明 sty:定义样式 text:文字 clamp: 0:代表不限制 1:超过1行省略号(默认) n:超过n行省略     点击下载:ellipsis    

  8. Fibre Channel address weaknesses

    http://searchitchannel.techtarget.com/feature/Fibre-Channel-address-weaknesses Figure 2.1 Five layer ...

  9. NGINX源码分析——概览

    一.概况 Nginx可以开启多个进程,每个进程拥有最大上限128个子线程以及一定的可用连接数.最大客户端连接数等于进程数与连接数的乘积,连接是在主进程中初始化的,一开始所有连接处于空闲状态.每一个客户 ...

  10. Struck 跟踪算法(二)

    以下開始读详细源代码 config.h文件 /* * Struck: Structured Output Tracking with Kernels * * Code to accompany the ...