欢迎来到SQL Server性能调优培训的第2个月。这个月将会是最有趣和最有挑战性的一个月,这个月我们专一只谈SQL Server中的索引,索引,还是索引。相信我,值得一个月去学习索引。今天我会谈下堆表(Heap Tables),在接下来的3周,我们会探讨下聚集索引,非聚集索引,还有SQL Serv...
分类:
其他好文 时间:
2015-04-30 19:41:19
阅读次数:
123
在现实场景中,我们经常会遇到修改数据类型的场景,尤其是自增列从INT修改为BIGINT的情况,自增列又通常作为表的主键和聚集索引键,因此修改操作需要按以下步骤来进行1. 停止对该表的访问(通过禁用权限或停应用的方式实现)2. 删除非聚集索引3. 删除主键聚集索引4. 使用ALTER TABLE AL...
分类:
其他好文 时间:
2015-04-28 18:11:14
阅读次数:
142
最近在进行一期的优化,先把数据库中最耗时的前N个语句查询出来!
SELECT TOP 10 qp.query_plan,qt.text,total_worker_time
from sys.dm_exec_query_stats
CROSS APPLY sys.dm_exec_sql_text(sql_handle) qt
CROSS APPLY sys.dm_exec_query...
分类:
数据库 时间:
2015-04-23 07:14:25
阅读次数:
207
先理解几个概念:表扫描、聚集索引扫描、聚集索引查找、索引扫描、书签查找。【查看执行计划】在理解概念之前先得知道如何查看执行计划—Ctrl+L。如下图:注:SQL Server的执行计划是从右向左看的。【理解几个概念】1.表扫描(Table scan):发生于堆表,并且没有可用的索引可用时,会发生表扫...
分类:
数据库 时间:
2015-04-22 23:43:35
阅读次数:
172
最近突然想起前一阵和一朋友的聊天,当时他问我的问题是一个非常普通的问题:说说SQL聚集索引和非聚集索引的区别。AD:WOT2015 互联网运维与开发者大会 热销抢票其实对于非专业的数据库操作人员来讲,例如软件开发人员,在很大程度上都搞不清楚数据库索引的一些基本知识,有些是知其一不知其二,或者是知其然...
分类:
数据库 时间:
2015-04-18 17:27:22
阅读次数:
183
聚集索引扫描SELECT * FROM C_SY_Ownedstorm聚集索引扫描比表扫描快聚集索引扫描:发生于聚集表,也相当于全表扫描操作,但在针对聚集列的条件等操作时,效率会较好。表扫描SELECT * FROM #temp表扫描:发生于堆表,并且没有可用的索引时,会发生表扫描,表示整个表...
分类:
数据库 时间:
2015-04-15 22:42:12
阅读次数:
202
-- 创建测试表
-- DROP TABLE FullTextIndexing
CREATE TABLE FullTextIndexing
(
ID INT IDENTITY(1,1) NOT NULL,
Sentence VARCHAR(MAX)
)
-- 创建聚集索引
ALTER TABLE FullTextIndexing ADD CONSTRAINT PK_FullTextIndex...
分类:
数据库 时间:
2015-04-13 09:28:20
阅读次数:
232
一、引言对数据库索引的关注从未淡出我的们的讨论,那么数据库索引是什么样的?聚集索引与非聚集索引有什么不同?希望本文对各位同仁有一定的帮助。有不少存疑的地方,诚心希望各位不吝赐教指正,共同进步。[最近首页之争沸沸扬扬,也不知道这个放在这合适么,苦劳?功劳?……]二、B-Tree我们常见的数据库系统,其...
分类:
数据库 时间:
2015-04-08 19:27:31
阅读次数:
166
(一)深入浅出理解索引结构 实际上,您可以把索引理解为一种特殊的目录。微软的SQL SERVER提供了两种索引:聚集索引(clustered index,也称聚类索引、簇集索引)和非聚集索引(nonclustered index,也称非聚类索引、非簇集索引)。下面,我们举例来说明一下聚集索引和非聚集...
分类:
数据库 时间:
2015-04-08 10:44:51
阅读次数:
171
索引概述:用户对数据库最频繁的操作是进行数据查询。一般情况下,数据库在进行查询操作时需要对整个表进行数据搜索。当表中的数据很多时,搜索数据就需要很长的时间,这就造成了服务器的资源浪费。为了提高检索数据的能力,数据库引入了索引机制。数据库索引好比是一本书前面..
分类:
数据库 时间:
2015-04-05 06:48:34
阅读次数:
177