随笔分类 - SQLServer2008笔记
《Microsoft Sql server 2008 Internals》读书笔记
摘要: 今天我们继续学习三个有关计划更新的概念:Halloween Protection、Split/Sort/Collapse和Merge
阅读全文
摘要:前一节主要介绍了索引的更新机制和索引的转向指针,以及更新的位置和修改单个行(或单索引对应的若干行)。如果你修改单个操作(Insert,update,Delete)或使用(BCP、BLUK Insert)命令的多行,而表有多个索引时,你得关注另外一些主题。SQL Server 2008提供了两种维护表索引的策略:表级修改和索引级修改。查询优化器会根据预计的执行成本决定使用相应的策略。
阅读全文
摘要:如果是在SQL 2000中,我们需要读取分层结构数据时,不得不借助递归。在SQL server 2005中,我们可以使用CTE,当然,好的数据结构设计可以避免你使用CTE,请看这里:http://www.cnblogs.com/downmoon/archive/2009/10/23/1588405.html
如果你是一个数据库设计新手,那么在sql server 2008中可以使用新的原生分层结构数据hierarchyid。
阅读全文
摘要: 我们已经了解SQL Server如何在一个Heap中存储数据。现在我们了解一下SQL Server在一个Heap数据修改时内部实际如何操作。对于一个有聚集索引的表的数据修改,我们在第七章中讨论。一般来说,在一个表中应该有一个聚集索引。某些情况下你也许会觉得Heap是一个更好的选择,但请注意,希望做出彻底测试后再做决定。现在,我们只关注Heap中数据的修改。
阅读全文
摘要: DBCC CHECKDB之外的一致性检查命令,包含:DBCC CHECKALLOC,DBCC CHECKTABLE,DBCC CHECKFILEGROUP,DBCC CHECKCATALOG,DBCC CHECKIDENT,DBCC CHECKCONSTRAINTS
阅读全文
摘要: DBCC CHECKED用四种方式输出信息:
1、常规输出,由一个错误的信息和邮件组成的列表指向发布DBCC CHECKDB命令的连接。
2、SQL Server 错误日志的一条信息
3、Windows 应用程序事件日志的一个项。
4、在sys.dm_exec_requests目录视图的进度报告信息
阅读全文
摘要: 前面几篇主要介绍了per-table一致性检查,本文我们关注交叉表的一致性检查,主要包括:Service Broker一致性检查,交叉目录(cross-catalog)一致性检查,索引视图一致性检查,XML索引一致性检查,空间索引(spatial- index)一致性检查。
阅读全文
摘要: 上篇关注元数据一致性检查、页审核、数据和索引页处理;本文我们继续了解per-table逻辑一致性检查,将继续关注:列处理、文本页处理。
阅读全文
摘要: 上文简单介绍了原始的系统目录一致性检查和分配的一致性检查。本文我们继续了解per-table逻辑一致性检查。这部分内容较多,分为上中下三篇:上篇关注元数据一致性检查、页审核、数据和索引页处理;中篇关注:列处理、文本页处理,下篇关注交叉页一致性检查。
阅读全文
摘要: 从本文开始,我们了解几种类型的一致性检查,先来看两个,原始的系统目录一致性检查和分配的一致性检查。
阅读全文
摘要: 上文主要介绍有效处理数据库的几个方法:事实生成、使用查询处理器。本文关注批处理、读取数据页到进程和并行机制。
阅读全文
摘要: 上文简要介绍了获取一个持久视图、磁盘空间冲突和使用数据库快照的替代方案,本文将关注有效处理数据库的几个方法:事实生成、使用查询处理器、批处理、读取数据页到进程和并行机制。
阅读全文
摘要: 本文将继续关注计划向导的后半部分,包括:计划指南的管理、计划指南的考虑因素、计划指南的有效性、从计划缓存中冻结计划。这也是计划缓存和重编译的最后一节。
阅读全文
摘要: 上文主要介绍计划缓存的时机和计划缓存冲突。本文将继续关注计划指南(Plan Guide)和优化指示(Optimization Hints),由于篇幅所限,计划指南分两部分,第一部分包括:优化提示、计划指南的意图、计划指南的类型。第二部分包括:计划指南的管理、计划指南的考虑因素、计划指南的有效性、从计划缓存中冻结计划。本文是第一部分。
阅读全文
摘要: 当任何人提到检查一个SQL Server数据库的一致性时,头脑中的第一反应该是“DBCC”。在SQL Server 7.0中,DBCC代表数据库一致性检查,但在随后版本,SQL Server 2000中,微软改变了定义,它变成了数据库控制台命令。这也折射出一个事实:DBCC命令已经远远超出一致性检查的范围。
阅读全文
摘要: 上文主要介绍了缓存大小管理、缓存项的成本(Costing of Cache entries),本文我们继续关注计划缓存的时机和计划缓存冲突。
阅读全文
摘要: 上文主要介绍了已编译计划、执行上下文和计划缓存元数据和几个常用的系统函数,并介绍了几个葵花宝典级的调优语句。本文将继续关注缓存大小管理、缓存项的成本(Costing of Cache entries)。
阅读全文
摘要: 上文我们了解计划缓存内部操作的第一部分-缓存存储。今天我们继续关注已编译计划、执行上下文和计划缓存元数据相关的几个非常有用的系统函数和视图。
阅读全文
摘要: 上文我们了解编译对象和重编译的起因:Correctness-Based Recompiles,Optimality-based Recompiles。今天我们继续关注如何从缓存中移除计划和计划缓存内部操作。
阅读全文
摘要: 上文我们了解编译对象和重编译的起因之一:Correctness-Based Recompiles,现在我们继续了解重编译的另一个起因:Optimality-based 重编译。
阅读全文