创建简单非聚集索引 以下示例为 Purchasing.ProductVendor 表的 BusinessEntityID 列创建非聚集索引。 USE AdventureWorks2008R2; GO IF EXISTS (SELECT name FROM sys.indexes WHERE name = N'IX_ProductVendor_VendorID') DROP INDEX IX_ProductVendor_VendorID ON Purchasing.ProductVendor; GO CREATE INDEX IX_ProductVendor_VendorID ON Purchasing.ProductVendor (BusinessEntityID); GO B. 创建简单非聚集组合索引 以下示例为 Sales.SalesPerson 表的 SalesQuota 和 SalesYTD 列创建非聚集组合索引。 USE AdventureWorks2008R2 GO IF EXISTS (SELECT name FROM sys.indexes WHERE name = N'IX_SalesPerson_SalesQuota_SalesYTD') DROP INDEX IX_SalesPerson_SalesQuota_SalesYTD ON Sales.SalesPerson ; GO CREATE NONCLUSTERED INDEX IX_SalesPerson_SalesQuota_SalesYTD ON Sales.SalesPerson (SalesQuota, SalesYTD); GO C. 创建唯一非聚集索引 以下示例为 Production.UnitMeasure 表的 Name 列创建唯一的非聚集索引。该索引将强制插入 Name 列中的数据具有唯一性。 USE AdventureWorks2008R2; GO IF EXISTS (SELECT name from sys.indexes WHERE name = N'AK_UnitMeasure_Name') DROP INDEX AK_UnitMeasure_Name ON Production.UnitMeasure; GO CREATE UNIQUE INDEX AK_UnitMeasure_Name ON Production.UnitMeasure(Name); GO
发表评论
-
转:避免全表扫描的sql优化
2015-02-05 16:37 1278http://tech.diannaodian.com/dw/ ... -
查看表中索引语句
2014-12-11 10:37 641SELECT object_name(object_id) ... -
SQL2008一行转多行的精典写法
2013-08-28 12:06 382--创建测试表 create table t1( id ... -
在sql server中利用with as实现递归功能
2013-06-25 10:48 496在sqlserver2005之前,要实现递归功能比较麻烦,比如 ... -
SQL 2005 with(nolock)详解
2013-06-17 17:03 555大家在写查询时, ... -
用SQL语句查询每门成绩都大于80的学生姓名
2013-05-29 10:39 1678昨天遇到的一个SQL面试题,感觉很有趣。 表名stu 结构 ... -
SqlServer强制断开数据库已有连接的方法
2013-02-22 11:03 1593在master数据库中执行如下代码 declare @i IN ... -
Sql获取第一天、最后一天
2013-01-03 14:56 9603① 本月第一天(--减去今天再加上1天) SELECT DAT ... -
表函数与游标
2012-12-25 16:07 707--建立数据源 create table tb1(zm ch ... -
sql server 2005 输出表的函數用法
2012-12-25 16:02 801view sourceprint? 01 --sql ser ... -
SQL杂谈
2012-12-14 17:33 6721、如何用convert什么的把带有时分秒的日期转为时分秒都0 ... -
用FOR XML PATH将查询结果以XML输出
2012-09-20 17:54 1001本文从此而来 http://www.cnblogs.com/d ... -
left join on and
2012-09-20 10:23 840数据库在通过连接两张或多张表来返回记录时,都会生成一张中间的临 ... -
筛选索引简单使用
2012-08-17 11:29 1112对于在强制实施数据完整性时的一种常见需求,也可以用筛选索引来解 ... -
排名函数(ROW_NUMBER、RANK、DENSE_RANK)及OVER子句
2012-08-10 10:36 6587--在部门内新水排名(如果有相同名次,用dense_rank) ... -
SQL SERVER 中行列转换 PIVOT UNPIVO
2012-08-18 15:34 2289PIVOT用于将列值旋转为列名、同时执行聚合运算(即行转列), ... -
Apply简单使用举例
2012-08-09 17:20 978APPLY APPLY运算符把右表表达式应用左输入中 ... -
SQL Server 2008语句大全完整版
2012-08-09 10:39 1356--======================== ... -
Not Exists练习
2012-07-23 14:40 852IF OBJECT_ID(N'a') IS NOT NU ... -
Exists练习查找最小缺失值(Missing Value)
2012-07-17 09:34 949第一种方法 USE tempdb; GO IF OBJE ...
相关推荐
然后给你在关键的字段加上非聚集索引后。。。才发现提速比阿斯顿马丁还要快。。。那么一个问题来了,为什么非聚集索引能提速这么快。。。怎么做到的???是不是非常的好奇??? 这篇我们来解开神秘面纱。 一:...
先创建一个聚集索引表这个表每个行由int(4字节),char(999字节)和varchar(0字节组成),所以每...10:IAM页面IndexID索引ID,0代表堆,1代表聚集索引,2-250代表非聚集索引大于250就是text或image字段看一下页面内容我们创
非聚集索引:就是给普通字段加上索引。 联合索引:好几个字段组成的索引称为联合索引。 索引的底层是? 数据库索引的底层是B+树。 B+树的中间元素不储存数据,只储存索引,数据存储在B+树的叶子节点处,一个节点可以...
下午看QQ群有人在讨论(非聚集)索引的存储,说,对于聚集索引表,非聚集索引存储的是索引键值+聚集索引键值;对于非聚集索引表,索引存储的是索引键值+RowId,这应该是一个常识,对此不作具体详细阐述。 这里主要...
非聚集索引也有扫描和查找 它们的区别: 扫描:可以理解为对数据进行顺序访问,并未使用索引进行查找 查找:可以理解为用索引进行查找 因此查找效率高于索引扫描效率 执行计划的意义 对于我们开发高质量SQL是...
聚簇索引包括主键索引和二级索引(二级索引是在对非主键字段建立索引后,通过索引找到对应这个非主键字段的主键,再进行主键索引,找到B+树中叶子结点);(聚簇索引B+树中叶子结点存放的是数据和指向下一条数据的...
自动:当表上定义主键约束、唯一、外键约束时,该表会被系统自动添加上索引。 手动:手动在相关表或列上增加索引,提高查询速度。 删除索引方式: 自动:当表对象被删除时,该表上的索引自动被删除 手动:手动删除...
对于指定的查询,你不能定义覆盖非聚集索引来克服执行计划里的查找(lookup)运算符,因为你会在额外的索引里重复你的数据…… 现在的问题是你如何阻止SELECT*语句?当然你可以进行代码审核,你可以提供佳模式...
InnoDB因为主键聚集索引的关系,如果没有主键或者主键非序列的情况下,导入会越来越慢,如何快速的迁移数据到InnoDB?借助MyISAM的力量 是很靠谱的,先关闭InnoDB的Buffer Pool,把内存空出来,建一张没有任何索引...
Alter: 修改已存在的数据表(例如增加/删除列)和索引。 Create: 建立新的数据库或数据表。 Delete: 删除表的记录。 Drop: 删除数据表或数据库。 INDEX: 建立或删除索引。 Insert: 增加表的记录。 Select: 显示/...
Alter: 修改已存在的数据表(例如增加/删除列)和索引。 Create: 建立新的数据库或数据表。 Delete: 删除表的记录。 Drop: 删除数据表或数据库。 INDEX: 建立或删除索引。 Insert: 增加表的记录。 Select: 显示/搜索表...