
《深入解析SQL Server 2008》
文章平均质量分 90
downmoon
浙江大学(项目管理方向)工程硕士,PMP,微软MVP获得者。十年以上.NET、架构设计、数据库开发经验,十年以上项目管理经验、从事多个垂直行业、零售流通领域多年。欢迎交流。
展开
-
《Microsoft SQL Server 2008 Internals》读书笔记--目录索引
最近断断续续看《Microsoft SQL Server 2008 Internals》,中文名是《深入解析Microsoft Sql server 2008》,由于邀月拿到的是英文版,所以一边看,一边查字典,顺便把一些理解记下来,翻译或理解不对之处,敬请指出。3w@love.cn。欢迎交流。兼以本文作为目录索引及序。读书笔记订阅地址:http://blog.youkuaiyun.com/downmoon/原创 2010-01-26 08:36:00 · 11472 阅读 · 15 评论 -
《Microsoft Sql server 2008 Internals》读书笔记--第八章The Query Optimizer(6)
《Microsoft Sql server 2008 Internals》索引目录:《Microsoft Sql server 2008 Internals》读书笔记--目录索引上篇主要介绍了筛选统计和字符串统计、基线估计,本文将关注Limitation和Costing■限制(limitation) SQL Server的基线估计通常是很棒的。不幸的是,制作一个适合所有应用程序的每一个查询的完美原创 2010-06-20 15:01:00 · 1677 阅读 · 2 评论 -
《Microsoft Sql server 2008 Internals》读书笔记--第八章The Query Optimizer(7)
《Microsoft Sql server 2008 Internals》索引目录:《Microsoft Sql server 2008 Internals》读书笔记--目录索引前几篇主要介绍了查询结构优化中的几个关键概念:统计(Statistics)、基准估计(Cardinality estimation)和成本(costing) ,今天开始真正进入主题:今天我们关注的是:索引选择■Index原创 2010-06-21 23:56:00 · 2035 阅读 · 0 评论 -
《Microsoft Sql server 2008 Internals》读书笔记--第八章The Query Optimizer(8)
《Microsoft Sql server 2008 Internals》索引目录:《Microsoft Sql server 2008 Internals》读书笔记--目录索引 本文继续了解索引视图(Indexes View) 关于索引视图的基本概念,可以在MSDN了解:http://msdn.microsoft.com/zh-cn/library/ms188783.aspx 注意:虽然索引视原创 2010-06-24 01:02:00 · 2397 阅读 · 1 评论 -
《Microsoft Sql server 2008 Internals》读书笔记--第八章The Query Optimizer(9)
《Microsoft Sql server 2008 Internals》索引目录:《Microsoft Sql server 2008 Internals》读书笔记--目录索引 本文继续关注分区表(Partitioned Tables) 和数据仓库(Data Warehousing) SQL Server 2005针对分区表的并行查询的执行有一个局限性。APPLY操作符的使用在对扫描每个交互原创 2010-06-29 12:20:00 · 1807 阅读 · 0 评论 -
《Microsoft Sql server 2008 Internals》读书笔记--第九章Plan Caching and Recompilation(1)
《Microsoft Sql server 2008 Internals》索引目录:《Microsoft Sql server 2008 Internals》读书笔记--目录索引通过第八章的查询优化,我们大致了解SQL Server中的查询优化进程及查询执行的一些细节。因为查询优化通常是复杂和耗时的进程,SQL Server频频受益于重用已经生成并保存在计划缓存中的查询计划,而不是每次都产生一个原创 2010-06-29 23:53:00 · 2071 阅读 · 0 评论 -
《Microsoft Sql server 2008 Internals》读书笔记--第九章Plan Caching and Recompilation(2)
《Microsoft Sql server 2008 Internals》索引目录:《Microsoft Sql server 2008 Internals》读书笔记--目录索引在这一节,我们将继续关注Adhoc和参数化■Adhoc混合负载的优化如果你的查询大多数是临时(adhoc)的,从来不会被重用,似乎浪费内存去缓存这些计划了。SQL Server 2008增加了一个配置选项在这种情况下也能原创 2010-07-01 23:29:00 · 2605 阅读 · 1 评论 -
《Microsoft Sql server 2008 Internals》读书笔记--第九章Plan Caching and Recompilation(3)
《Microsoft Sql server 2008 Internals》索引目录:《Microsoft Sql server 2008 Internals》读书笔记--目录索引 前文主要提到简单参数化和强制参数化。下面我们继续了解简单查询的不足和预查询(Prepared Queries)■简单查询的不足(Drawbacks of Simple Parameterization)在前面的查询输出原创 2010-07-03 02:33:00 · 1709 阅读 · 1 评论 -
《Microsoft Sql server 2008 Internals》读书笔记--第九章Plan Caching and Recompilation(4)
《Microsoft Sql server 2008 Internals》索引目录:《Microsoft Sql server 2008 Internals》读书笔记--目录索引上文我们了解简单参数化查询的不足和预查询(Prepared Queries),现在我们了解编译对象和重编译的原因。■编译对象(Complied Objects)存储过程存储过程和用户自定义标量函数几乎一样。 元数据表明o原创 2010-07-04 21:05:00 · 1745 阅读 · 0 评论 -
《Microsoft Sql server 2008 Internals》读书笔记--第九章Plan Caching and Recompilation(5)
《Microsoft Sql server 2008 Internals》索引目录:《Microsoft Sql server 2008 Internals》读书笔记--目录索引上 文我们了解编译对象和重编译的起因之一:Correctness-Based Recompiles(基于更正的重编译),现在我们继续了解重编译的另一个起因:Optimality-based Recompiles(基于优化原创 2010-07-06 19:50:00 · 2422 阅读 · 3 评论 -
《Microsoft Sql server 2008 Internals》读书笔记--第九章Plan Caching and Recompilation(6)
《Microsoft Sql server 2008 Internals》索引目录:《Microsoft Sql server 2008 Internals》读书笔记--目录索引上文我们了解编译对象和重编译的起因:Correctness-Based Recompiles,Optimality-based Recompiles。今天我们继续关注如何从缓存中移除计划和计划缓存内部操作。■从缓存原创 2010-07-10 10:17:00 · 2000 阅读 · 0 评论 -
《Microsoft Sql server 2008 Internals》读书笔记--第九章Plan Caching and Recompilation(7)
《Microsoft Sql server 2008 Internals》索引目录:《Microsoft Sql server 2008 Internals》读书笔记--目录索引上文我们了解计划缓存内部操作的第一部分-缓存存储。今天我们继续关注已编译计划、执行上下文和计划缓存元数据相关的几个非常有用的系统函数和视图。■已编译计划(Compiled Plans)在Object和SQL计划缓存存储中原创 2010-07-11 23:28:00 · 2442 阅读 · 0 评论 -
《Microsoft Sql server 2008 Internals》读书笔记--第九章Plan Caching and Recompilation(8)
《Microsoft Sql server 2008 Internals》索引目录:《Microsoft Sql server 2008 Internals》读书笔记--目录索引上文主要介绍了已编译计划、执行上下文和计划缓存元数据相关的几个常用的系统函数,并介绍了几个葵花宝典级的调优语句。本文将继续关注缓存大小管理、缓存项的成本(Costing of Cache entries) ■缓存大小管理原创 2010-07-13 00:26:00 · 2370 阅读 · 6 评论 -
《Microsoft Sql server 2008 Internals》读书笔记--第八章The Query Optimizer(5)
《Microsoft Sql server 2008 Internals》索引目录:《Microsoft Sql server 2008 Internals》读书笔记--目录索引上篇主要列举了统计的概念和统计的设计、统计的浓度。本文将关注筛选统计和字符串统计、基准估计。 ■筛选统计 作为SQL Server 2008中新增的筛选索引的一部分,筛选统计功能被加入。这意味着(某个基于筛选谓词的表原创 2010-06-20 01:28:00 · 1788 阅读 · 0 评论 -
《Microsoft Sql server 2008 Internals》读书笔记--第八章The Query Optimizer(4)
《Microsoft Sql server 2008 Internals》索引目录:《Microsoft Sql server 2008 Internals》读书笔记--目录索引上篇介绍了架构优化,下来我们一起了解几个非常重要的概念:统计(Statistics)、基线评估(Cardinality estimation)和成本(costing) 查询优化器评估每个操作的成本,决定采用哪个计划。这个原创 2010-06-06 18:10:00 · 2726 阅读 · 5 评论 -
《Microsoft Sql server 2008 Internals》读书笔记--第十一章DBCC Internals(11)
《Microsoft Sql server 2008 Internals》索引目录:《Microsoft Sql server 2008 Internals》读书笔记--目录索引 ■DBCC CHECKDB之外的一致性检查命令,包含:DBCC CHECKALLOC,DBCC CHECKTABLE,DBCC CHECKFILEGROUP,DBCC CHECKCATALOG,DBCC CHECKID原创 2010-08-04 19:57:00 · 2963 阅读 · 2 评论 -
《Microsoft Sql server 2008 Internals》读书笔记--第十一章DBCC Internals(9)
《Microsoft Sql server 2008 Internals》索引目录:《Microsoft Sql server 2008 Internals》读书笔记--目录索引 ■ DBCC CHECKED输出DBCC CHECKED用四种方式输出信息:◆常规输出,由一个错误的信息和邮件组成的列表指向发布DBCC CHECKDB命令的连接。◆SQL Server 错误日志的一条信息◆Wind原创 2010-08-04 16:48:00 · 2994 阅读 · 1 评论 -
《Microsoft Sql server 2008 Internals》读书笔记--第十一章DBCC Internals(8)
《Microsoft Sql server 2008 Internals》索引目录:《Microsoft Sql server 2008 Internals》读书笔记--目录索引前面几篇主要介绍了per-table一致性检查,本文我们关注交叉表的一致性检查,主要包括:Service Broker一致性检查,交叉目录(cross-catalog)一致性检查,索引视图一致性检查,XML索引一致性检查原创 2010-08-03 00:48:00 · 2273 阅读 · 0 评论 -
《Microsoft Sql server 2008 Internals》读书笔记--第十一章DBCC Internals(6)
《Microsoft Sql server 2008 Internals》索引目录:《Microsoft Sql server 2008 Internals》读书笔记--目录索引上篇关注元数据一致性检查、页审核、数据和索引页处理;本文我们继续了解per-table逻辑一致性检查,将继续关注:列处理、文本页处理。 ■Per-Table逻辑一致性检查(中)■列处理对于数据和索引记录,每一列按类别处理原创 2010-08-03 00:45:00 · 1703 阅读 · 1 评论 -
《Microsoft Sql server 2008 Internals》读书笔记--第十一章DBCC Internals(5)
《Microsoft Sql server 2008 Internals》索引目录:《Microsoft Sql server 2008 Internals》读书笔记--目录索引 上文简单介绍了原始的系统目录一致性检查和分配的一致性检查。本文我们继续了解per-table逻辑一致性检查。这部分内容较多,分为上中下三篇:上篇关注元数据一致性检查、页审核、数据和索引页处理;中篇关注:列处理、文本页处原创 2010-08-03 00:42:00 · 2049 阅读 · 0 评论 -
《Microsoft Sql server 2008 Internals》读书笔记--第十一章DBCC Internals(3)
《Microsoft Sql server 2008 Internals》索引目录:《Microsoft Sql server 2008 Internals》读书笔记--目录索引上文主要介绍有效处理数据库的几个方法:事实生成、使用查询处理器。本文关注批处理、读取数据页到进程和并行机制。■批处理在per-table逻辑检查期间,DBCC CHECKED通常并不同时处理数据库所有的表,也通常不会在某原创 2010-07-28 00:20:00 · 2310 阅读 · 2 评论 -
《Microsoft Sql server 2008 Internals》读书笔记--第十一章DBCC Internals(2)
《Microsoft Sql server 2008 Internals》索引目录:《Microsoft Sql server 2008 Internals》读书笔记--目录索引上文简要介绍了获取一个持久视图、磁盘空间冲突和使用数据库快照的替代方案,本文将关注有效处理数据库的几个方法:事实生成、使用查询处理器、批处理、读取数据页到进程和并行机制。一个数据库可以看作一个巨大的、用所有表指示后一节点原创 2010-07-22 22:30:00 · 2107 阅读 · 2 评论 -
《Microsoft Sql server 2008 Internals》读书笔记--第十一章DBCC Internals(1)
《Microsoft Sql server 2008 Internals》索引目录:《Microsoft Sql server 2008 Internals》读书笔记--目录索引当任何人提到检查一个SQL Server数据库的一致性时,头脑中的第一反应该是“DBCC”。在SQL Server 7.0中,DBCC代表数据库一致性检查,但在随后版本,SQL Server 2000中,微软改变了定义,原创 2010-07-20 08:11:00 · 2232 阅读 · 0 评论 -
《Microsoft Sql server 2008 Internals》读书笔记--第九章Plan Caching and Recompilation(11)
《Microsoft Sql server 2008 Internals》索引目录:《Microsoft Sql server 2008 Internals》读书笔记--目录索引本文将继续关注计划向导的后半部分,包括:计划指南的管理、计划指南的考虑因素、计划指南的有效性、从计划缓存中冻结计划。这也是计划缓存和重编译的最后一节。 ■管理计划指南 除了sp_Create_plan_guide和sp原创 2010-07-20 00:39:00 · 1879 阅读 · 2 评论 -
《Microsoft Sql server 2008 Internals》读书笔记--第九章Plan Caching and Recompilation(10)
《Microsoft Sql server 2008 Internals》索引目录:《Microsoft Sql server 2008 Internals》读书笔记--目录索引上文主要介绍计划缓存的时机和计划缓存冲突。本文将继续关注计划指南(Plan Guide)和优化指示(Optimization Hints),由于篇幅所限,计划指南分两部分,第一部分包括:优化提示、计划指南的意图、计划指南原创 2010-07-17 23:57:00 · 2218 阅读 · 2 评论 -
《Microsoft Sql server 2008 Internals》读书笔记--第九章Plan Caching and Recompilation(9)
《Microsoft Sql server 2008 Internals》索引目录:《Microsoft Sql server 2008 Internals》读书笔记--目录索引上文主要介绍了缓存大小管理、缓存项的成本(Costing of Cache entries),本文我们继续关注计划缓存的时机和计划缓存冲突。 ■缓存里的多计划 SQL Server尽量限制一个查询或一个过程的计划的数量原创 2010-07-15 23:28:00 · 2473 阅读 · 2 评论 -
《Microsoft Sql server 2008 Internals》读书笔记--第八章The Query Optimizer(3)
《Microsoft Sql server 2008 Internals》索引目录:《Microsoft Sql server 2008 Internals》读书笔记--目录索引上文主要介绍了查询可选计划的存储和操作符如(计算标量、计算序列 等)。现在我们继续来了解优化架构。查询优化器包含了许多执行特定功能的优化的相(phase)。不同的Phase帮助查询优化器在优化进程的最早阶段“最高值”的操原创 2010-05-16 16:55:00 · 2390 阅读 · 1 评论 -
《Microsoft Sql server 2008 Internals》读书笔记--第八章The Query Optimizer(2)
《Microsoft Sql server 2008 Internals》索引目录:《Microsoft Sql server 2008 Internals》读书笔记--目录索引上文主要介绍了查询优化的入门基础和查询优化器如何浏览查询计划中的规则和属性。现在我们继续来了解查询可选计划的存储和操作符如(计算标量、计算序列等)。■可选计划的存储-the "Memo"查询优化器包含一种避免存储重复信息原创 2010-05-16 07:08:00 · 1889 阅读 · 0 评论 -
《Microsoft Sql server 2008 Internals》读书笔记--第八章The Query Optimizer(1)
《Microsoft Sql server 2008 Internals》索引目录:《Microsoft Sql server 2008 Internals》读书笔记--目录索引SQL Server内置的查询优化器负责对一个给定的SQL语句执行判断作出最合理的查询计划。因为查询优化器并没有过多的内容展示于外界,因此不像SQL引擎中的其他组件那样为人熟知。第八章(The Query Optimiz原创 2010-05-12 00:23:00 · 2436 阅读 · 1 评论 -
《Microsoft Sql server 2008 Internals》读书笔记--第七章Special Storage(5)
《Microsoft Sql server 2008 Internals》索引目录:《Microsoft Sql server 2008 Internals》读书笔记--目录索引上文简单介绍了 filestream数据存储和修改的一些特性。下面我们来继续了解SQL Server 2008中新增的稀疏列(sparse column),它可以看作是对Null值作了优化存储的普通列。稀疏列削减了针对n原创 2010-05-09 07:36:00 · 1844 阅读 · 0 评论 -
《Microsoft Sql server 2008 Internals》读书笔记--第五章Table(5)
《Microsoft Sql server 2008 Internals》索引目录:《Microsoft Sql server 2008 Internals》读书笔记--目录索引 前面我们学习了数据页 的存储结构以及如何检查一个data page。那么如何查询一个物理页呢?记得在上篇文章时,我们介绍了了一个未公开的DBCC PAGE命令。该命令前需要知道页的具体参数,如-- 查询testdb数据原创 2010-01-31 22:34:00 · 1952 阅读 · 1 评论 -
《Microsoft Sql server 2008 Internals》读书笔记--第五章Table(4)
《Microsoft Sql server 2008 Internals》索引目录:《Microsoft Sql server 2008 Internals》读书笔记--目录索引 上篇我们主要学习了元数据(metadata)的存储及利用目录视图来查询这些信息,今天,我们继续学习数据页(Data Pages)。 数据页(Data pages)是包含已经添加到数据库的表中的用户数据的结构。正如前面所原创 2010-01-28 14:32:00 · 2962 阅读 · 7 评论 -
《Microsoft Sql server 2008 Internals》读书笔记--第五章Table(3)
《Microsoft Sql server 2008 Internals》索引目录:《Microsoft Sql server 2008 Internals》读书笔记--目录索引 在上一篇中,我们主要学习了如何在系统视图中察看我们创建表和索引的元数据信息,今天,我们继续学习数据存储的元数据结构。数据存储元数据(Data Storage Metadata)还记得Haep吗?就是没有聚集索引的表。原创 2010-01-26 21:01:00 · 2399 阅读 · 3 评论 -
《Microsoft Sql server 2008 Internals》读书笔记--第五章Table(2)
《Microsoft Sql server 2008 Internals》索引目录:《Microsoft Sql server 2008 Internals》读书笔记--目录索引 当你创建一个表时,一个或 多个行插入到若干个系统表中,以便系统能管理这些新建的表,SQL Server提供了(catalog View) 目录视图(内建于系统表的顶部),允许用户通过该视图来浏览这些内容。至少,你原创 2010-01-25 11:40:00 · 3077 阅读 · 6 评论 -
《Microsoft Sql server 2008 Internals》读书笔记--第三章Databases and Database Files(2)
《Microsoft Sql server 2008 Internals》索引目录:《Microsoft Sql server 2008 Internals》读书笔记--目录索引 在上篇文章中,主要介绍了创建数据库的基本语法和FileGroup的初步知识。需要注意的是:关于FileGroup如果你的系统是用Raid设备直接存放data文件,则不需要再借助FileGroup,因为FileGroup原创 2010-01-20 16:59:00 · 3176 阅读 · 4 评论 -
《Microsoft Sql server 2008 Internals》读书笔记--第三章Databases and Database Files(1)
最近断断续续看《Microsoft Sql server 2008 Internals》,中文名是《深入解析Microsoft Sql server 2008》,由于邀月拿到的是英文版,所以一边看,一边查字典,顺便把一些理解记下来,翻译或理解不对之处,敬请指出。3w@love.cn。欢迎交流。 这里邀月可以保证的是:这个系列95%以上的内容都是邀月根据原英文纯手工翻译,加上自己的理解和注释,没有原创 2010-01-19 12:28:00 · 7243 阅读 · 7 评论 -
《Microsoft Sql server 2008 Internals》读书笔记--第五章Table(1)
《Microsoft Sql server 2008 Internals》索引目录:《Microsoft Sql server 2008 Internals》读书笔记--目录索引 在这章中,我们将对表(table)作一些简单的介绍,并继续深入察看表的一些内部结构。简单的说,表是具有一些特定意义的实体的集合。表不仅是MS SQL Server的心脏,也是更广泛意义上的关系数据模型更是如此。在S原创 2010-01-23 10:23:00 · 3874 阅读 · 8 评论 -
《Microsoft Sql server 2008 Internals》读书笔记--第三章Databases and Database Files(3)
《Microsoft Sql server 2008 Internals》读书笔记--目录索引 在上篇文章中,主要简单介绍了数据库的存放机制和snapshot的简单应用。下来我们看看一个基本的系统数据库Tempdb,关于tempdb,MSDN有详细的描述,请参考;http://msdn.microsoft.com/zh-cn/library/ms190768.aspx 一些关于tempdb的基本原创 2010-01-23 09:25:00 · 3407 阅读 · 0 评论 -
《Microsoft Sql server 2008 Internals》读书笔记--第十一章DBCC Internals(4)
《Microsoft Sql server 2008 Internals》索引目录:《Microsoft Sql server 2008 Internals》读书笔记--目录索引 从本文开始,我们了解几种类型的一致性检查,先来看两个:原始的系统目录一致性检查和分配的一致性检查。 ■原始的系统目录一致性检查在SQL Server 2008中,存储引擎定义了三类系统目录:◆ sys.sysallo原创 2010-08-02 13:26:00 · 1938 阅读 · 0 评论 -
《Microsoft Sql server 2008 Internals》读书笔记--第八章The Query Optimizer(10)
《Microsoft Sql server 2008 Internal》读书笔记--目录索引今天我们继续学习三个有关计划更新的概念:Halloween Protection、Split/Sort/Collapse和Merge■Halloween Protection(Halloween保护,万圣节面具?呵呵) Halloween保护描述了关系数据库中用于保证更新计划正确性的一种功能。这个功能的需原创 2012-04-07 15:02:00 · 3127 阅读 · 0 评论