《网络上数据库的调整和系统的有效运行》求取 ⇩

简介1

目录1

第一部分 学习手册5

模块1:性能概述5

概述5

运行性能的目标5

OLTP系统6

决策支持系统6

折衷6

OLTP与决策支持间的折衷6

运行性能如何测度6

响应时间与信息吞吐量6

解决方法7

影响运行性能的因素7

应用程序7

结构/资源7

数据库管理系统7

并发作业7

哪些能够得到改进8

调整服务器的资源使用率8

调整数据库8

调整进程8

解决竞争与并发问题8

SQL Server结构概述9

运行性能调整方法(续)9

运行性能调整方法9

SQL Server组成10

内核10

句法分析程序、优化程序和编译器10

SQL Server如何处理查询10

Windows NT SQL Server的新特点:异步检查点11

SQL Server如何使用内存缓冲区11

写高速缓存控制器12

SQL Server如何与客户接口12

SQL Server如何与客户/工作站通讯12

SQL Server for Windows NT13

SQL Server13

SQL Server如何使用文件13

可调整的结构14

高容量14

对称多处理(SMP)14

单进程多线程14

完全32位14

异步I/O14

使用Windows NT服务15

SQL Server实现的比较15

单进程和多线程的实现15

复习16

选择一种文件系统:FAT、HPFS或NTFS17

概述17

模块2:平台优化17

调整操作系统18

调整网络操作系统18

调整网络连接18

调整缓冲区容量19

最小化网络服务19

使“写高速缓存”无效19

调整SQL Server19

选择排序顺序20

调整临时数据库21

SQL Server的内存分配22

内存使用22

配置过程高速缓存23

过程高速缓存24

关于过程高速缓存的信息24

调整过程高速缓存24

设定用户连接24

动态用户连接25

sp_configure过程25

恢复间隔25

用户连接25

内存25

最大工作线程26

最大异步I/O26

保留资源使用26

检测工具26

过程高速缓存26

26

打开数据库、打开对象、设备26

在RAM中的tempdb26

检测什么27

确定内存使用:DBCC MEMUSAGE27

内存使用28

缓冲区高速缓存28

过程高速缓存28

SQL Monitor(sp_monitor)28

sp_who29

对sysprocesses表的样本查询30

sysprocesses表30

检测性能统计:DBCC SQLPERF31

DBCC SQLPERF(IOStats)31

Log Writes(日志写)31

Batch Writes(批量写)32

Page Reads(页读)32

Page Writes(页写)32

Transactions(事务)32

DBCC SQLPERF(LRUStats)32

Cache Hit Ratio(高速缓存命中率)32

SQL Server for Windows NT新增:“空闲页扫描”极限33

scan Limit Reaehed(扫描极限达到次数)33

建议33

Scan Limit/Cache Size(扫描极限/高速缓存容量)33

Free Page Scan(Average/Maximum)(空闲页扫描(平均值/最大值))33

Cache Flushes(高速缓存刷新次数)33

DBCC SQL PREF(NETStats)34

Network Reads(网络读次数)34

Network Write(网络写次数)34

Command Queue Length(命令队列长度)34

Max Command Queue Length(最大命令队列长度)34

Worker Threads(工作线程)34

Max Worker Threads(最大工作线程数)34

Network Threads(网络线程)34

Microsoft Windows NT性能检测器35

最大网络线程35

复习36

实验36

平台优化36

模块3:数据存储结构37

概述37

数据概念37

管理员角度(概念角度)38

服务器角度(内部角度)38

数据存储结构38

数据存储38

设备38

页间如何链接39

39

扩展39

数据库39

分配单元39

数据页40

行的大小和性能40

行的大小和数据类型41

行的大小41

空和非空41

数据类型41

索引页42

索引结构42

表和索引42

保留索引43

聚集索引:详图43

非聚集索引:详图44

非聚集索引44

比较聚集和非聚集索引45

获取有关表和索引的信息45

sysindexes45

sp_helpindex tablename45

SET STATISTICS IO ON45

估计表大小46

预计性能46

sp_spaceused过程47

sp_spaceused为整个数据库的输出47

sp_estspace过程48

使用sp_estspace48

数据存取49

DBCC CHECKTABLE49

通过表扫描提取50

使用索引检索50

实验51

数据存储结构51

数据更新的影响51

插入52

在没有聚集索引的表中加行52

在有聚集索引的表中加行52

性能影响52

页分割53

分配页的算法53

溢出页54

具有单调数据的页分配54

删除55

性能影响55

修改56

修改步骤56

局部修改56

动态索引重组织57

动态索引重组织的实质57

选择压缩数据页57

FILLFACTOR58

益处58

FILLFACTOR(接前)59

聚集索引和非聚集索引的比较60

数据存储结构60

实验60

61

益处61

SQL Server为Windows NT新增功能:自动数据拆卸61

段的实现61

建议62

段的实现62

复习62

模块4:为查询选择索引63

概述63

为什么使用索引63

使用索引以避免表扫描63

用户分析64

弄清Microsoft SQL Server是如何工作的64

数据分析64

使用索引以限制表扫描范围64

明智地使用索引64

使用索引可避免排序64

选择有用的索引65

一般性考虑原则65

关键性考虑原则65

选择率(Selectivity)65

表扫描66

数据分布66

选择率:例子66

选择合适的索引类型67

实验67

为查询选择索引67

聚集索引的有效候选类型68

考虑因素68

常见的错误认识68

非聚集索引的有效候选类型68

考虑因素69

复合索引的有效候选类型69

考虑因素69

复合索引与多重单列索引的对比70

SQL Server for Windows NT新增功能70

覆盖索引70

覆盖索引:例子71

考虑因素71

聚集和非聚集索引的比较72

查询的索引匹配72

用于数据范围的索引:例子73

在price列上建立聚集索引73

在price列上建立非聚集索引73

在Price、title列上建立覆盖索引73

表中无索引73

用于AND连接的索引:例子74

挑选对上例的评价方案74

用于OR连接的索引:例子74

挑选对上例的评价方案74

评价上例的几种选择方案75

用于SELECT*的索引:例子75

课堂讨论75

用于多重查询的索引76

挑选上例的评价方案76

不要索引的情况77

索引选择准则77

决定所有查询的优先级77

决定每个查询的选择率77

常见的错误认识78

决定其他必需的索引78

决定待建立的非聚集索引类型78

为聚集索引选择最适合的列78

决定应该索引哪些列78

为每张表真写活动表78

测试查询的性能79

事务分析79

为每张表填写活动表80

复习80

实验81

为查询选择索引81

模块5:查询优化器概述82

概述82

查询优化器的目的82

优化方式确定效率最高的查询计划82

SQL Server使用基于开销的优化方式83

性能检测83

编译84

查询优化84

数据库存取例程84

什么场合用查询优化84

语法分析过程84

标准化过程84

索引统计85

分布页85

SQL Server是如何计算分布级的86

分布级的一个例子87

计算分布级数87

课堂实例87

查询优化器概述88

修改统计88

实验88

以下情形下应UPDATE STATISTICS89

SET语句89

SHOWPLAN89

NOEXEC89

STATISTICS TIME90

STATISTICS IO90

SHOWPLAN:实例90

SHOWPLAN的输出90

嵌套循环90

复习91

阶段一:查询分析92

查询分析92

模块6:查询优化过程92

概述92

搜索参数93

非搜索参数93

转换非搜索参数94

使用非搜索参数来避免索引的使用94

OR(或)子句94

连接子句95

自连接(Self-Join)95

实验96

查询优化的过程96

阶段二:索引选择96

确定子句的选择率97

如果统计数字存在97

确定是否存在一个有用的索引97

考虑97

如果没有统计数字98

使用统计数字的例外98

混合数据类型98

未知数值98

确定连接子句的选择率99

连接子句99

确定页的存取数量99

在price列上建立聚集索引的情况100

计算页存取数的例子100

对于唯一索引的情况100

对于非聚集索引的情况100

对于聚集索引的情况100

对于没有索引情况100

对于覆盖索引的情况100

在price列上建立非聚集索引的情况101

在Priec,title列上建立覆盖索引的情况101

阶段三:连接选择101

选择最佳方案101

计算总开销102

单表与多表的处理102

单表处理102

多表处理102

追踪标识的输出103

追踪标识103

304,310和302追踪标识输出104

课上讨论104

复习105

模块7:查询优化器的处理策略106

概述106

表扫描和索引存取106

表扫描106

索引存取107

实验107

查询优化器的处理策略107

缺点108

优点108

OR过程策略(动态索引)108

OR处理策略(动态索引):举例109

用于OR处理策略的查询方案109

实验110

查询优化器的处理策略110

连接顺序策略110

帮助优化器111

连接策略的嵌套迭代111

策略111

性能111

连接策略的嵌套迭代:举例112

执行112

指导112

titles到titleauthor之间的连接:举例113

处理步骤113

titleauthor到titles之间的连接:举例114

处理步骤114

三路连接:举例115

关键点115

实验116

查询优化器的处理策略116

重新格式化策略116

缺点117

重新格式化策略的查询方案117

FORCEPLAN117

优化器的特殊情况118

实验118

查询优化的处理策略118

聚集119

用于聚集的查询方案119

单独的聚集:举例120

双聚集:举例120

覆盖查询121

SQL Server for Windows NT的新增功能121

实验122

查询优化器的处理策略122

ORDER BY122

GROUP BY123

建议123

建议123

SQL Server for Windows NT的新增功能123

实验124

查询优化器的处理策略124

视图124

视图:例子125

复习126

实验126

查询优化器的处理策略126

存储过程如何工作127

分析127

模块8:使用存储过程127

概述127

正规化128

查询处理128

存储过程和查询的比较128

非预先设计的查询128

特殊情况:视图128

过程的高速缓存129

重新编译存储过程130

重新编译选项130

存储过程和触发器131

存储过程的益处131

性能131

数据完整性强制措施132

复习132

设计改变执行效率132

安全性132

存取能力132

实验133

利用存储过程133

模块9:非正规化134

概述134

性能设计134

数据库一致性134

易理解134

快速性能134

正规化设计135

范式135

性能设计135

逻辑数据库设计135

非正规化优点和弊端136

性能影响136

折衷方案136

非正规化设计136

优点137

弊端137

决定进行非正规化操作137

考虑冗余数据与连接137

维护冗余数据138

使用存储过程进行修改操作138

用触发器进行修改138

涉及多少行138

什么是修改考虑138

数据项一起被访问的频率怎样138

非正规化技术139

复制列139

重定义列139

重定义表139

复制整表139

复制列139

性能优点140

选择用于复制的稳定列140

性能优点140

精确复制140

有效候选140

复制外部键:例子141

复制属性:例子141

折衷142

派生列142

有效候选142

几点考虑142

性能优点143

派生列:例子143

重定义列143

几点考虑144

性能优点144

有效候选144

虚构键列144

为虚构键创建自动唯一值145

列摘要145

有效候选145

性能优点145

正文数据类型:例子146

有效候选146

几点考虑146

可选择的解决方案146

可选择方案147

几点考虑147

有效候选147

图像数据类型:例子147

重定义表148

复制和分割表148

有效候选148

几点考虑148

通过列复制/分割数据149

有效候选149

几点考虑149

性能优点149

通过行复制/分割数据150

有效候选150

几点考虑150

性能优点151

网关环境151

复制整表151

几点考虑151

有效候选151

复习152

实验152

非正规操作152

模块10:数据库的一致性和并发性153

概述153

允许并发(性)就必须强调一致(性)153

级别3154

级别2154

级别0154

一致性的级别154

级别1154

锁定155

SQL Server for Windows NT新增功能:改进的锁定管理器155

为什么需要锁定155

暂时的数据更新(未提交的相关性)155

数据更新丢失155

页与行级锁定156

页锁定156

共享的页锁定(S)156

锁定的粒度156

不正确的数据合计156

排他的页锁定(X)157

数据更新的页锁定(U)157

HOLDLOCK关键字157

表锁定157

共享表锁定(S)157

排他的表锁定(X)157

集中共享/集中排他锁定(IS或IX)158

升级列表锁定158

锁定:举例158

带有索引和搜寻参数的语句158

锁定的兼容性159

在不同事务期间可得到的锁定类型的摘要159

没有索引或搜寻参数的语句159

HOLDLOCK(3级锁定)159

关键字160

锁定如何加强一致性160

死锁和活锁161

死锁161

如果避免死锁161

活锁161

索引中的并发性162

索引锁定162

SQL Server用来避免索引锁定的办法162

设置锁定数目163

sp_lock163

锁定类型163

实验164

数据库一致性和并发性164

影响性能的因素164

等待释放锁定164

频繁死锁165

创建索引165

大量的修改事务165

减少锁定争用165

采用低的填充因子或缓冲行165

采用存储过程166

只有必要时使用HOLDLOCK166

调度某些行为到非高峰时间166

避免多用户数据库的不一致性166

避免查询中用户交互166

创建单独的历史表166

避免热点166

保持事务简短并且在一个程序组中166

日志167

SQL Server for Windows NT的新增功能:更有效的日志分配167

在客户服务器交互作用中优化并发性168

优化客户服务器交互性168

在客户机上缓冲所有的行168

在客户机上仅缓冲键值168

有限的SELECT语句169

客户服务器交互中的控制锁定169

连续滚动169

优化的并发控制(OCC)170

不利之处170

浏览处理技术170

SQL Server浏览模式171

SELECT...FOR BROWSE171

处理步骤171

游标172

游标模型元素172

性能考虑172

用游标浏览173

对修改敏感性173

复习174

模块11:其他性能内容175

概述175

维护和性能175

安排数据库卸出176

SOL Server for Windows NT新增功能:快速备份和恢复176

输入/输出数据采用大量拷贝程序(bcp)176

建议177

SQL Server for windows NT新增功能:协商报文的大小177

执行大量的修改事务177

实验/演示178

建立索引178

设置恢复间隔179

标题更新统计179

WITH SORTED_DATA179

客户程序设计忠告180

负载平衡181

批量与交互181

客户与服务器181

卸下规则和缺省检查181

卸下数据181

卸下处理182

排序数据182

工作负载分解到多个服务器上182

备份数据182

分布与集中处理183

容量184

速度184

将应用程序分散到硬盘上184

使用超级服务器的优点184

易扩充性185

容错185

易管理性185

均质性185

超级服务器的优点(续)185

磁盘性能185

随机I/O与顺序I/O186

驱动器镜像186

驱动镜像和双工186

决定镜像什么187

数据和事务日志设备的镜像187

远程访问SQLServer188

远程访问服务(RAS)188

特点和功能188

性能考虑188

复习188

实验189

其他性能问题189

模块12:问题分析190

概述190

性能调整方法190

分析用户需求190

优化查询191

选择索引191

测试存储过程191

性能调整方法(续)191

开发存储过程191

分析每个数据库的各种事务191

优化平台191

设计正规化数据库191

基准模拟产生环境192

监控器性能192

确定性能问题192

用户行为193

产生环境193

查询193

存储过程194

查询优化器194

事务194

如果是一个SELECT语句194

数据库195

索引195

逻辑设计195

物理设计195

评估非正规化195

调整,再测试,监控,重复196

安排维护196

确定基线性能196

表扫描的开销196

如何提高表扫描性能196

如何设置基准197

一个好的基准应该做什么197

为什么使用基准197

基准使用指南198

性能回顾198

平台优化复习199

数据存储结构复习199

选择查询索引复习200

查询优化器复习201

存储过程复习201

非正规化复习202

数据库一致性和并发性复习202

其他性能问题复习203

实验204

问题分析204

isq1在实验中的应用207

课程数据库:perfdb207

isq1/w在实验中的应用207

第二部分 实验手册207

命名规则207

实验1:实验指导207

实验2:平台优化209

目标209

开始之前209

练习1:内存使用:DBCC MEMUSAGE209

练习2:监控资源使用情况:DBCC SQLPERF211

练习3:Windows NT性能监视器212

练习2:每个表的多重索引213

练习1:表大小和I/O213

目的213

开始之前213

实验3:数据存储结构213

练习3:FILLFACTOR216

练习4:大键216

开始之前216

实验4:为查询选择索引218

目的218

练习1:选择率218

练习2:选择索引219

练习3:覆盖查询221

练习4:OR的索引221

如果时间允许222

练习5:为两个查询建立索引222

实验5:查询优化器概述223

目的223

练习1:分布步骤223

实验6:查询优化阶段225

目标225

前言225

练习1:确定检索参数225

实验7:查询优化器的处理策略227

目的227

开始之前227

练习1:执行方案——表扫描227

练习2:评价结果集和索引使用法227

练习3:OR处理策略230

练习4:连接顺序策略231

练习5:重新格式化策略233

练习6:聚合和覆盖查询236

练习7:ORDER BY和GROUP BY238

练习8:综合239

练习9:决定理想响应时间241

实验8:使用存储过程243

目的243

开始之前243

练习1:重新编译存储过程243

目的247

练习1:复制列247

实验9:非正规化247

练习2:计算数据248

练习3:分割表248

练习4:分割表的条件249

练习5:虚构键249

实验10:数据库的一致性和并发性251

目的251

在实验开始前251

练习1:表和页锁定251

练习2:升级点253

练习3:行填充254

实验11:其他的性能问题256

目的256

练习1:大量的修改事务256

练习2:处理数据库活动257

练习1:安装图书馆数据库258

练习2:图书馆实例研究258

介绍258

实验12:问题分析258

历史信息需求259

图书核查过程260

图书馆功能261

练习3:重新检查非正规Library数据库265

练习4:分析Loanbook事务270

练习5:分析事务Loanbook的事务混合277

在你开始工作前277

练习6:选择索引277

你的目标278

在开始工作之前278

练习7:优化查询279

练习8:安排运行维护280

练习9:改善returnbook事务的性能281

第三部分 实验答案287

实验1.实验指导287

课程数据库:perfdb287

实验2:平台优化289

Objective289

开始之前289

练习1:内存使用:DBCC MEMUSAGE289

练习2:监控资源使用情况:DBCC SQLPERF290

练习3:Windows NT性能监视器291

实验3:数据存储结构292

目的292

开始之前292

练习1:表大小和I/O292

练习2:每个表的多重索引292

练习3:FILLFACTOR294

练习4:大键295

开始之前295

实验4:为查询选择索引297

目的297

练习1:选择率297

练习2:选择索引298

练习3:覆盖查询300

练习4:OR的索引301

练习5:为两个查询建立索引301

如果时间允许301

实验5:查询优化器概述302

目的302

练习1:分布步骤302

实验6:查询优化阶段304

目的304

前言304

练习1:确定检索参数304

练习2:评价结果集和索引使用法306

开始之前306

练习1:执行方案——表扫描306

实验7:查询优化器的处理策略306

目的306

练习3:OR处理策略309

练习4:连接顺序策略310

练习5:重新格式化策略312

练习6:聚合和覆盖查询314

练习7:ORDER BY和GROUP BY317

练习8:综合317

练习9:决定理想响应时间319

实验8:使用存储过程321

目的321

开始之前321

练习1:重新编译存储过程321

练习1:复制列324

实验9:非正规化324

目的324

练习2:计算数据325

练习3:分割表325

练习4:分割表的条件326

练习5:虚构键326

实验10:数据库的一致性和并发性328

目的328

在实验开始前328

练习1:表和页锁定328

练习2:升级点330

练习3:行填充330

练习1:大量的修改事务333

实验11:其他的性能问题333

目的333

练习2:处理数据库活动334

实验12:问题分析335

练习1:安装图书馆数据库335

练习2:图书馆实例研究335

练习3:重新检查非正规Libra-y数据库335

练习4:分析Loanbook事务336

练习5:分析事务Loanbook的事务混合337

在你开始工作前337

你的目标338

练习7:查询优化338

在开始工作之前338

练习6:选择索引338

练习8:安排运行维护340

练习9:改善returnbook事务的性能340

第四部分 附录343

附录A 调用OS/2343

附录B OS\22.0对MS—SQL Server的支持345

附录C 调整Microsoft LAN MANAGER347

附录D 事务分析矩阵350

附录E 表格信息矩阵352

附录F 查询测试矩阵354

附录G SHOWPLAN输出356

附录H 创建自动的单一键358

附录I 快速参考360

附录J 有关SQL Server的出版物364

1994《网络上数据库的调整和系统的有效运行》由于是年代较久的资料都绝版了,几乎不可能购买到实物。如果大家为了学习确实需要,可向博主求助其电子版PDF文件(由(美)Microsoft 著;林钢等译 1994 北京:学苑出版社 出版的版本) 。对合法合规的求助,我会当即受理并将下载地址发送给你。

高度相关资料

中性点非有效接地电网的运行(1993 PDF版)
中性点非有效接地电网的运行
1993 北京:水利电力出版社
ORACLE数据库系统( PDF版)
ORACLE数据库系统
ORACLE数据库系统( PDF版)
ORACLE数据库系统
数据库系统( PDF版)
数据库系统
数据库与数据库管理系统( PDF版)
数据库与数据库管理系统
局部网络  Datastore  关系数据库管理系统( PDF版)
局部网络 Datastore 关系数据库管理系统
0520资料出版联合体
数据库系统原理和方法  上( PDF版)
数据库系统原理和方法 上
东南大学自动控制系
关系和网状数据库的标准语言( PDF版)
关系和网状数据库的标准语言
SPRINGER-VERLAG WORLD PUBLISHING CORP
ORACLE数据库系统(1994 PDF版)
ORACLE数据库系统
1994 哈尔滨:哈尔滨工程大学出版社
ORACLE数据库系统(1991 PDF版)
ORACLE数据库系统
1991 杭州:浙江大学出版社
关系数据库系统的深入分析和比较(1991 PDF版)
关系数据库系统的深入分析和比较
1991 北京希望电脑公司
汉字微机网络数据库系统dBASE Ⅲ PLUS(1989 PDF版)
汉字微机网络数据库系统dBASE Ⅲ PLUS
1989 北京:清华大学出版社
计算机系统、数据库系统和通信网络的安全与保密(1995 PDF版)
计算机系统、数据库系统和通信网络的安全与保密
1995 成都:电子科技大学出版社
Novell NetWare 3.x-4.x 管理员指南(1998 PDF版)
Novell NetWare 3.x-4.x 管理员指南
1998 北京:人民邮电出版社
调制解调器用户指南(1994 PDF版)
调制解调器用户指南
1994 《陕西电子》编辑部