随笔分类 - ReadBook
摘要:
上文我们了解编译对象和重编译的起因之一:Correctness-Based Recompiles,现在我们继续了解重编译的另一个起因:Optimality-based 重编译。
阅读全文

摘要:
上文我们了解简单参数化查询的不足和预查询(Prepared Queries),现在我们了解编译对象和重编译的原因。
阅读全文

摘要:
前文主要提到简单参数化和强制参数化。下面我们继续了解简单查询的不足和预查询(Prepared Queries)
阅读全文

摘要:
在这一节,我们将继续关注Adhoc和参数化:简单参数化和强制参数化。
阅读全文

摘要:
本文继续关注分区表(Partitioned Tables) 和数据仓库(Data Warehousing)。SQL Server 2005针对分区表的并行查询的执行有一个局限性。APPLY操作符的使用在对扫描每个交互的分区时有限制,即允许SQL Server 2005对每个表只允许一个线程。虽然也允许并行查询。但大多数情况下还是被忽略了。而且,APPLY模式不考虑分区的大小差异,仍然使用一个线程处理一个最大或最小的分区。
阅读全文

摘要:
本文继续了解索引视图(Indexes View)。注意:虽然索引视图是在SQL Server 2000中已经加入,但只有SQL Serer 2008的企业版才支持索引视图的匹配。
阅读全文

摘要:
前几篇主要介绍了查询结构优化中的几个关键概念:统计(Statistics)、基准估计(Cardinality estimation)和成本(costing) ,今天开始真正进入主题:索引选择。
阅读全文

摘要:
上篇主要列举了统计的概念和统计的设计、统计的浓度。本文将关注筛选统计和字符串统计、基线估计。
阅读全文

摘要:
上篇介绍了架构优化,下来我们一起了解几个非常重要的概念:统计(Statistics)、标量评估(Cardinality estimation)和成本(costing)
阅读全文

摘要:
上文主要介绍了查询可选计划的存储和操作符如(计算标量、计算序列 等)。现在我们继续来了解优化架构。
阅读全文

摘要:
上文主要介绍了查询优化的入门基础和查询优化器如何浏览查询计划中的规则和属性。现在我们继续来了解查询可选计划的存储和操作符如(计算标量、计算序列等)。
阅读全文

摘要:
SQL Server内置的查询优化器负责对一个给定的SQL语句执行判断作出最合理的查询计划。因为查询优化器并没有过多的内容展示于外界,因此不像SQL引擎中的其他组件那样为人熟知。第八章(The Query Optimizer)主要介绍查询优化器及其工原理,本章读完后,你应该会加深在较高层次的优化架构的理解,并熟知一个特定的查询计划为什么会被查询优化器所采用。此外,你应该能解决特定的案例,比如查询优化器没有选择预期的执行计划,以及什么因素影响了优化器的选择。 第八章是本书的另外核心技巧之一--查询优化,它在底层数据存储的基础上,主要介绍对已有的SQL语句或查询进行针对性的测试和优化方法。这里有一些实用的技巧。
阅读全文

摘要:
这一节我们继续了解稀疏列的物理存储。
阅读全文

摘要:
上文简单介绍了 filestream数据存储和修改的一些特性。下面我们来继续了解SQL Server 2008中新增的稀疏列(sparse column)。
阅读全文

摘要:
上文简单介绍了filestream数据的基础,本文继续了解FileStream的一些特性。
阅读全文

摘要:
上文简单介绍了不限长度的Large Object Data存储形式,以及存储在数据行的LOB数据。本文简要介绍MAX-Length数据及添加数据到LOB列的存储,另外还有filestream数据的基础。
阅读全文

摘要:
上文简单介绍了限制长度的Large Object Data存储形式,本文将介绍不限长度的Large Object Data存储形式。
阅读全文

摘要:
第五章《Table》和第六章《Indexes:Internals and Management》我们主要讨论了“规则行”在表和索引中的存储机制,第五章中我们了解到规则行是以“固定变量”的格式存储,SQL Server提供了另外一种格式存储数据,即“列描述”(Column Descriptor)。它能存储一些特殊的值(包括固定变量和不能适应常规8-KB大小页面的CD格式的值),在这章中。我们将讨论一些超过正常数据行 大小限制的数据,它们被存储作为"行溢出"或Large Object(LOB)数据。此外,SQL Server 2008还提供了一种常规列的复杂存储列,即稀疏列(Sparse Columns),和新
阅读全文

摘要:
曾经认为微软的广告《让爱延长》只不过是一个高明的煽情广告,在试用了vs2010后,不得不认为,这确实代表了微软Visual Studio开发团队的一种理想和为之付出的努力,也许我们真的可以从代码工人的角色中解放出来,开始享受我们的代码,有人说,代码是跳跃的音符,那也许并不是一个遥远的梦。
阅读全文

摘要:
上一篇我们主要了解Inserting Rows 时SQL Server的内部存储机制,这一篇我们来看看Deleting Rows的内部机制。当你从一个表中删除行时,你必须考虑数据页和索引页发生了什么。记住:数据实际上是聚集索引的叶级,从表中删除一个带有聚集索引的行意味着同时在非聚集索引的叶级中删除同样的行。从一个Heap中删除行有些差异,它其实是从一个索引的非叶级页删除。
阅读全文
