书籍详情

SQL Server 2005 Performance Tuning性能调校

SQL Server 2005 Performance Tuning性能调校

作者:胡百敬,姚巧玫,刘承修

出版社:电子工业出版社

出版时间:2008-06-01

ISBN:9787121062964

定价:¥80.00

购买这本书可以去
内容简介
  数据库系统经年累月地运行,日久便可能面临数据累积量大、使用人数增加、应用面扩增、当初系统设计有局限等问题,导致性能变差,这就需要调试人员进行性能调校。然而,他们进行性能调校的能力是需要培养的,一般来说,需要的不只是数据库方面的知识和经验,还要对商业领域知识、系统架构设计、应用程序撰写,以及对操作系统、网络环境架设、各种监控工具程序等都有一定的了解,才能在复杂的系统中,找到症结所在,完成调校任务。本书正是为满足上述需要而编写的,适合SQL Server DBA阅读,书中提供了性能调校和错误处理的建议与提示,并通过实际案例,协助DBA建立正确的观念、充分了解系统架构,进而在阅读中传承功力,并打通任督二脉,领略其中运用之奥妙。
作者简介
暂缺《SQL Server 2005 Performance Tuning性能调校》作者简介
目录
第1章  性能调校概观    1
1.1  什么是性能调校    4
1.2  建立性能的基线    5
1.3  性能调校的步骤——DETECT    8
1.3.1  各阶段重点说明    9
1.3.2  练习DETECT方法    12
1.3.3  二分查找    14
1.3.4  定义瓶颈    15
1.4  结语    16
第2章  SQL Server架构简介    19
2.1  SQL Server运行架构    20
2.1.1  SQL Server的访问架构    24
2.1.2  SQL Server 的核心引擎    27
2.1.3  SQL Server动态自我管理    30
2.2  各项硬件使用剖析    32
2.2.1  内存管理    33
2.2.2  中央处理器    50
2.2.3  磁盘子系统    57
2.3  仿真系统运行    63
2.4  结语    65
第3章  性能调校相关工具程序    67
3.1  综观的工具    71
3.1.1  SQLDiag 公用程序概述    71
3.1.2  观察影响效率的内容    96
3.1.3  性能监视器    101
3.2  进一步的分析工具    111
3.2.1  Management Studio    111
3.2.2  SQL Profiler概述    117
3.3  针对特定对象的工具    135
3.3.1  Database Engine Tuning Advisor    135
3.3.2  查询编辑器    138
3.3.3  网络监视器    141
3.3.4  DBCC    146
3.3.5  跟踪标记    152
3.4  Performance Dashboard Reports    155
3.4.1  SQL Server 2005 Performance Dashboard Reports    155
3.4.2  Performance Dashboard Reports 主要的分析途径    161
3.4.3  Performance Dashboard Reports 所提供的各式报表    164
3.4.4  Blocking 报表    166
3.4.5  General Wait 报表    166
3.4.6  其他细节报表    168
3.4.7  扩展Performance Dashboard Reports 报表功能    169
3.5  压力测试工具程序    174
3.5.1  Microsoft Application Center Test    175
3.5.2  Load Simulator    178
3.5.3  自行编写压力测试程序    181
3.6  结语    184
第4章  动态管理视图和函数    185
4.1  动态管理视图和函数简介    186
4.2  动态管理视图和函数的使用范例    188
4.3  观察各种资源的使用情况    196
4.3.1  内存缓存区    196
4.3.2  CPU 的使用    198
4.3.3  执行计划重用    202
4.3.4  锁定与被锁定的关系    203
4.3.5  I/O 的使用    206
4.3.6  tempdb 系统数据库的使用    208
第5章  数据库设计    213
5.1  数据库设计    214
5.2  使用分割数据表切割和平行运行    222
5.2.1  分割数据表的使用范例    224
5.2.2  分割数据表与大量数据加载的集成    234
5.3  TEMPDB 系统数据库的规划    235
5.3.1  tempdb 的用途    235
5.3.2  SQL Server 2005 针对tempdb 所做的改良    237
5.3.3  监控tempdb 的使用    238
5.3.4  性能考虑    240
5.4  备份与还原    242
5.4.1  数据库恢复模式    242
5.4.2  数据库恢复模式之间的切换    246
5.5  大量数据加载    247
5.6  设计磁盘子系统    251
5.7  结语    257
第6章  索引    259
6.1  索引概观    261
6.1.1  建立索引与相关的属性设置    262
6.1.2  平行建立索引    269
6.1.3  在线索引    271
6.1.4  集群索引与非集群索引    274
6.1.5  排序    278
6.1.6  与索引相关的系统视图    282
6.1.7  是否值得建索引    295
6.2  索引维护    304
6.2.1  观察数据不连续    304
6.2.2  使用动态管理函数观察数据不连续    308
6.2.3  重组、重建与停用索引    310
6.3  优化执行计划的各阶段    312
6.4  统计    314
6.4.1  更新统计    321
6.5  覆盖索引    326
6.6  在视图与计算字段上建立索引    331
6.6.1  如何有效地建立Indexed View    334
6.6.2  Indexed View的适用范围    340
6.7  单一查询使用多个索引    341
6.8  结语    342
第7章  T-SQL语法    343
7.1  有效地查询参数    344
7.1.1  不要对数据域做运算    345
7.1.2  勿负向查询    347
7.1.3  勿在Where 子句对字段使用函数    348
7.1.4  小心使用OR 操作    350
7.2  连接    352
7.2.1  连接    352
7.2.2  Join 语句    353
7.2.3  嵌套循环连接    357
7.2.4  合并连接    357
7.2.5  哈希连接    358
7.2.6  连接与子查询    360
7.3  其他注意事项    363
7.3.1  INSERT、DELETE 和UPDATE    365
7.3.2  子查询    366
7.3.3  搭配EXISTS与IN的子查询    368
7.3.4  通过连接更新数据    370
7.3.5  查询提示    374
7.4  新的DML语句    379
7.4.1  Common Table Expression    379
7.4.2  获取排名或顺序的函数    388
7.5  SQL Server 提供的公共变量    395
7.6  结语    404
第8章  重用执行计划    405
8.1  编译与高速缓存执行计划    406
8.2  影响计划重用的因素    414
8.3  执行计划与Execution Context    419
8.4  观察执行计划的使用    420
8.5  需要重新编译计划    423
8.5.1  不同参数使用相同执行计划可能引发的问题    426
8.5.2  以提示影响查询引擎所建立的执行计划    428
第9章  交易与锁定管理    435
9.1  锁定    436
9.1.1  锁定的种类及范围    436
9.1.2  锁定的兼容性    440
9.1.3  可锁定的资源    441
9.1.4  锁定与交易隔离等级    443
9.1.5  动态的锁定管理    457
9.1.6  锁定逾时    458
9.2  数据行版本控制    460
9.2.1  数据行版本控制基本运行行为    461
9.2.2  “数据行版本控制”使用时机    469
9.2.3  “数据行版本控制”TEMPDB 数据库资源管理    470
9.3  交易    472
9.3.1  交易行为概述    472
9.3.2  批处理与交易    475
9.3.3  嵌套交易    480
9.3.4  存储点    485
9.3.5  锁定提示    488
9.3.6  使用交易之注意事项    492
9.4  死锁状况    494
9.4.1  发生Cycle 死锁    494
9.4.2  发生Conversion 死锁    495
9.4.3  分布式死锁    496
9.4.4  SQL Server 无法侦测的死锁实例    498
9.5  观察与分析系统的锁定状况    502
9.5.1  观察SQL Server 当前执行的状况    503
9.5.2  观察与分析系统的锁定状况    509
9.6  锁定的原因及相关处理    512
9.6.1  费时的查询或交易    512
9.6.2  不正确的交易或交易隔离等级设置    514
9.6.3  交易未正确处理    514
9.6.4  未检测到的分布式死锁    515
9.6.5  锁定数据粒度(Lock Granularity)太高或太低    516
9.6.6  Compile Blocking    516
9.6.7  基本原则    517
9.7  结语    519
第10章  前端应用程序设计    521
10.1  程序架构    522
10.2  用户端与SQL服务器的交互    524
10.2.1  用户端访问SQL Server 的模式    527
10.2.2  准备再执行的模式    531
10.2.3  测试各种执行SQL 语句方式的性能    535
10.2.4  Connection Pooling    536
10.3  多数据结果集    545
10.3.1  SQL Server 数据访问与结果集    546
10.3.2  工作阶段内容信息与MARS    546
10.3.3  前端程序经由MARS访问    548
10.3.4  MARS的执行方式    554
10.3.5  同时读取与更新数据    556
10.4  光标    561
10.4.1  光标概观    562
10.4.2  默认结果集    564
10.4.3  服务器端光标    566
10.4.4  使用光标的T-SQL语句    571
10.4.5  与光标相关的系统存储过程    583
10.4.6  通过前端程序访问四种类型的光标    585
10.4.7  异步使用光标    589
10.4.8  使用光标时应注意的事项    592
10.5  数据高速缓存    605
10.5.1  使用高速缓存的原因    605
10.5.2  .NET Framework 与Microsoft patterns & Practices Enterprise Library
       提供的高速缓存    608
10.5.3  访问Caching Application Block    612
10.6  应用程序错误处理    620
第11章  Visual Studio 2005 Team Edition For Database Professional    625
11.1  DB Pro 所支持的功能    626
11.2  建立数据库项目并控制对象的SQL Script    629
11.2.1  建立项目    630
11.2.2  将数据库定义加入源代码版本控制    634
11.3  建立数据库内新对象    636
11.3.1  部署项目定义到数据库    639
11.3.2  依项目内容更新数据库Schema 定义    643
11.4  修改数据库内对象名称    645
11.5  测试    647
11.5.1  产生测试数据    647
11.5.2  数据库的单元测试    651
11.5.3  数据库单元测试的方面    652
11.5.4  以DB Pro 设计与执行单元测试    652
11.5.5  通过测试条件定义单元测试的结果是成功或失败    661
11.5.6  负载测试    666
11.6  Service Release 1 与Power Tools 的功能    675
11.6.1  Power Tools 为VSTS Database Pro 新增的功能    681
附录A  数据库对象的命名惯例与访问标准    693
A.1  建立命名规则    694
A.2  数据库使用惯例    697
附录B  数据库服务器的容量规划    701
附录C  应用程序架构范例    707
猜您喜欢

读书导航