一、书签查找的概念 书签可以帮助SQL Server快速从非聚集索引条目导向到对应的行,其实这东西几句话我就能说明白。 如果表有聚集索引(区段结构),那么书签就是从非聚集索引找到聚集索引后,利用聚集索引定位到数据。此处的书签就是聚集索引。如果表没有聚集索引(堆结构)。那么扫描非聚集索引后,通过...
分类:
数据库 时间:
2015-05-31 12:13:34
阅读次数:
176
从CREATE开始 通过显式的CREATE INDEX命令 在创建约束时作为隐含的对象 随约束创建的隐含索引 当向表中添加如下两种约束之一时,就会创建隐含索引。 主键约束(聚集索引) 唯一约束(唯一索引)一、CREATE INDEX语法 CREATE INDEX语句所做的事情与其听上...
分类:
数据库 时间:
2015-05-31 12:13:13
阅读次数:
167
聚集索引的叶子页存储的就是表的数据。因此,表行物理上按照聚集索引列排序,因为表数据只能有一种物理顺序,所以一个表只能有一个聚集索引。 当我们创建主键约束时,如果不存在聚集索引并且该索引没有被明确指定为非聚集索引,SQL Server会自动将其创建为唯一的聚集索引,这并不是说主键列就一定是聚集索引,....
分类:
数据库 时间:
2015-05-31 12:10:40
阅读次数:
167
在网上能够找到很多关于表分区的资料,可是大部分都是在介绍如何给一个新表创建表分区,而对已存在的表如何做分区的文章相对比较少,因此一些坑没有被“挖掘”出来或者“曝光率”比较低。 笔者最近遇到了一个这样的案例,刚好踩到了两个坑,现分享给大家。 对已存在的表进行分区最常见的方法就是重建聚集索引或者创建聚集...
分类:
其他好文 时间:
2015-05-26 22:43:47
阅读次数:
146
-- 先模拟环境,后面说明:
USE [Temp]
GO
-- DROP TABLE [TestTab] TRUNCATE TABLE [TestTab]
CREATE TABLE [dbo].[TestTab](
[UserAcount] [varchar](50) NOT NULL,
[UserName] [varchar](50) NOT NULL,
[crdatetime] [d...
分类:
数据库 时间:
2015-05-26 21:29:50
阅读次数:
275
一,非聚集索引组合索引 用户可以在多个列上建立索引,这种索引叫做复合索引(组合索引)。但复合索引在数据库操作期间所需的开销更小,可以代替多个单一索引。当表的行数远远大于索引键的数目时,使用这种方式可以明显加快表的查询速度。 同时有两个概念叫做窄索引和宽索引,窄索引是指索引列为1-2列的索引,如果不特...
分类:
数据库 时间:
2015-05-25 09:43:10
阅读次数:
237
一,非聚集索引的include 非聚集索引的Include属性可以让非聚集索引包含其他列。如 CREATE NONCLUSTERED INDEX [NonIxUser] ON [dbo].[Users] ( [NAME] ASC ) INCLUDE ( [ID], [CreatTime]) GO 这...
分类:
数据库 时间:
2015-05-25 09:40:52
阅读次数:
159
一,新建测试表 CREATE TABLE [dbo].[Users]( [ID] [int] IDENTITY(1,1) NOT NULL, [NAME] [char](80) NOT NULL, [CreatTime] [datetime] NOT NULL ) ON [PRIMARY] 删除默认...
分类:
数据库 时间:
2015-05-24 23:28:19
阅读次数:
187
一、建立索引 微软的SQLSERVER提供了两种索引:聚集索引(clusteredindex,也称聚类索引、簇集索引)和非聚集索引(nonclusteredindex,也称非聚类索引、非簇集索引)。 聚集索引 我们的汉语字典的正文本身就是一个聚集索引。比如,我们要查“安”字,就会很自然地翻开字...
分类:
数据库 时间:
2015-05-24 17:24:14
阅读次数:
156
一、索引的概念和分类 索引的概念大家都知道,日常开发中我们也会使用常见的聚集索引、非聚集索引。但是除了这两者以外,sqlserver中还提供其他的索引,如: a. 唯一索引:不包含重复键的索引,聚集索引或者非聚集索引都可以是唯一索引。 b. 包含列的索引:它扩展后不仅包含键列,还包含非键列。 c. ...
分类:
数据库 时间:
2015-05-23 18:15:24
阅读次数:
156