SQLServer 语句-创建索引
语法:
CREATE [索引类型] INDEX 索引名称
ON 表名(列名)
WITH FILLFACTOR = 填充因子值0~100
GO
/*实例*/USE 库名
GO
IF EXISTS (SELECT * FROM SYSINDEXES WHERE NAME='IX_TEST_TNAME')--检测是否已经存在IX_TEST_TNAME索引
DROP INDEX TEST.IX_TEST_TNAME--如果存在则删除
--创建索引
CREATE NONCLUSTERED INDEX IX_TEST_TNAME --创建一个非聚集索引
ON TEST(TNAME) --为TEST表的TNAME字段创建索引
WITH FILLFACTOR = 30 --填充因子为30%
GO
SELECT * FROM TEST(INDEX = IX_TEST_TNAME) WHERE TNAME = 'A' --指定按‘IX_TEST_TNAME’索引查询
总结: 1.什么是索引:数据库中的索引是某个表中一列或多列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。
2.分类:
唯一索引(UNIQUE):不允许两行具有相同的索引值(创建了唯一约束,系统将自动创建唯一索引)
主键索引:主键索引要求主键中的每个值是唯一的,(创建主键自动创建主键索引)
聚集索引(CLUSTERED):表中各行的物理顺序与键值的逻辑(索引)顺序相同,表中只能包含一个聚集索引,主键列默认为聚集索引
非聚集索引(NONCLUSTERED):表中各行的物理顺序与键值的逻辑(索引)顺序不匹配,表中可以有249个非聚集索引
3.创建索引的标准:用语频繁搜索的列;用语对数据进行排序的列
注意:如果表中仅有几行,或列中只包含几个不同的值,不推荐创建索引,因为SQL Server 在小型表中用索引搜索数据所花的时间比逐行搜索更长。
http://msdn.microsoft.com/zh-cn/library/ms345331(SQL.90).aspx
新增: 2006 年 4 月 14 日
在指定的表上创建索引。可以在表中输入数据之前创建索引。
|
术语 | 定义 | ||
---|---|---|---|
UNIQUE |
在表上创建唯一索引。唯一索引是不允许其中任意两行具有相同索引值的索引。 SQL Server 2005 Compact Edition (SQL Server Compact Edition) 在创建索引后将检查是否存在重复的值(如果数据已存在),并在每次使用 INSERT 或 UPDATE 语句添加数据时执行该检查操作。必须先消除重复值,然后才可对列创建唯一索引。如果存在重复的键值,则将取消 CREATE INDEX 语句并返回错误。只能对定义为 NOT NULL 的列创建唯一索引。 如果存在唯一索引,则可能生成重复键值的 UPDATE 或 INSERT 语句将回滚,且 SQL Server Compact Edition 返回错误。即使 UPDATE 或 INSERT 语句更改许多行,但只要存在一个重复,上面这一点也将成立。 |
||
NONCLUSTERED |
创建指定表的逻辑排序的索引。使用非聚集索引,数据行的物理顺序将独立于其索引顺序。这是唯一支持的索引类型。(默认值为 NONCLUSTERED) |
||
index_name |
指定索引的名称。索引名称在表中必须是唯一的,但是在数据库中不必是唯一的。 |
||
table_name |
指定要对其创建索引的表的名称。 此表包含要建立索引的一个或多个列。 |
||
column name |
要应用索引的列。指定两个或两个以上的列的名称,以对指定列中的组合值创建组合索引。在表后面的括号中,按排序优先级顺序列出要包含在组合索引中的列。
|
||
ASC | DESC ] |
为特定的索引列确定升序 (ASC) 或降序 (DSC) 排序方向。默认值为 ASC。 |
||
n |
指示可以为任何特定索引指定多列的占位符。索引中可以包含的最大列数为 16。 |
||
STATISTICS_NORECOMPUTE |
指定是否重新计算分发统计信息。默认值为 OFF。
若要还原自动统计信息更新,请将 STATISTICS_NORECOMPUTE 设置为 OFF,或执行不带 NORECOMPUTE 子句的 UPDATE STATISTICS。
|
示例
以下示例对 MyCustomers 表创建了唯一索引:
复制代码
|
|
SQLServer 语句-创建索引相关推荐
- SQLServer 语句 创建索引
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 语法: ...
- sql语句创建索引_SQL创建索引语句示例说明
sql语句创建索引 This statement is used to create an "index" on a column in an existing table. 该语 ...
- sqlserver语句创建表
sqlserver用代码创建表和一些属性设置 1. USE Test 2. create table 表名 3. ( 4. 表名编号 int , 5. 表名号 varchar(50) , 6. 城市 ...
- Sql Server sql语句创建索引
create index [index_mode] on [cn_name]([car_mode]); index_mode自定义索引名 cn_name表名 car_mode列名 1.创建普通索引 S ...
- mysql修改索引语句_mysql——创建索引、修改索引、删除索引的命令语句
查看表中已经存在 index:show index from table_name; 创建和删除索引索引的创建可以在CREATE TABLE语句中进行,也可以单独用CREATE INDEX或ALTER ...
- 用ALTER TABLE语句来创建索引
7.2.3 用ALTER TABLE语句来创建索引 在已经存在的表上,可以通过ALTER TABLE语句直接为表上的一个或几个字段创建索引.基本形式如下: 1. ALTER TABLE 表名 ADD ...
- 创建索引sql 语句
1.创建表的同时 指定 create table t1(id int not null,name char(30) not null,unique index UniqIdx(id) ) 2.在已经 ...
- SQL Server创建索引
什么是索引 拿汉语字典的目录页(索引)打比方:正如汉语字典中的汉字按页存放一样,SQL Server中的数据记录也是按页存放的,每页容量一般为4K .为了加快查找的速度,汉语字(词)典一般都有按拼音. ...
- SQL Server创建索引(转)
什么是索引 拿汉语字典的目录页(索引)打比方:正如汉语字典中的汉字按页存放一样,SQL Server中的数据记录也是按页存放的,每页容量一般为4K .为了加快查找的速度,汉语字(词)典一般都有按拼音. ...
最新文章
- html无序列表的滚动效果,html无序列表标签和有序列表标签使用示例
- 卸载linux 上Java的正确方式
- align_center在JAVA_margin:0 auto与body{text-align:center;}实现元素居中的区别
- c++输入了后边不继续_医疗:连涨多日,后边还能加仓吗?直接说答案!
- java gui 连接mysql数据库
- 开源十问, 社区新人快速上手指南
- 在这个智能数字时代,处处拉拢着我们的视线,那么低头一族可还记得儿时上学的45分钟吗?劳逸结合,多动动!...
- 使用ETags减少Web应用带宽和负载
- ado.net mysql 转义_ADO.NET数据库查询
- python3 shell脚本开发_python3 subprogress 模块的使用 代替shell编写脚本
- Atitit jsr规范有多少个 407个。Jsr规范大全
- JAVA实现Word转Pdf文件
- 小型超市管理系统【软件工程大作业】
- u大师u盘装系统win7_使用U盘安装Win7/Win8/Win10系统完美教程
- sxt_1_struts2入门_hello
- JS如何在高德地图多边形覆盖物填充平行折线的算法
- SolrCloud下DIH实践
- 自动提取论文公式方法
- Java培训还是自学
- [BUUCTF]PWN——judgement_mna_2016(32位fmt)
热门文章
- OpenGL 光照贴图Lighting maps
- C语言桶排序Bucket sort算法(附完整源码)
- QT的QCullFace类的使用
- QT的QCameraImageProcessing 类的使用
- 10_Eclipse中演示Git冲突的解决
- SQLite 语法(http://www.w3cschool.cc/sqlite/sqlite-syntax.html)
- Mysql数据类型之整数型的一些细节你get到了吗?
- python最大公约数和最小公倍数_python怎么求最大公约数和最小公倍数
- FPGA基础之锁存器与触发器的设计
- iOS H264,H265视频编码(Video encode)