注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络软件与程序设计PowerbuilderSybase ASE 12.5性能优化

Sybase ASE 12.5性能优化

Sybase ASE 12.5性能优化

定 价:¥45.00

作 者: (美)Jeffrey Garbus[等]著;张崇文[等]译;张崇文译
出版社: 电子工业出版社
丛编项: PowerBuilder与Sybase技术丛书
标 签: SYBASE

ISBN: 9787121007255 出版时间: 2005-03-01 包装: 胶版纸
开本: 26cm 页数: 288 字数:  

内容简介

  本书特色:一旦你的数据库系统建立并运行起来,你就需要使它运行得顺畅而迅速。本书即是为从事使Sybase服务器性能最优化的DBA量身定做的。本书为这——非常重要的过程提供了全方位的指导:从系统标准化,优化存储过程,到使用sp_sysmon监控系统,作者全面地解释了如何使你的服务器达到最优化的性能。本书主题包括:◆定义性能◆理解I/O完全操作◆使用查询优化器◆管理内存◆处理查询◆应用程序设计◆死锁和锁◆性能标尺◆审计系◆解决系统阻塞问题的实用技巧本书是由数据仓库领域著名的JeffreyGarbus,EricMiner等人师联于精心打造,凝聚了大师们多年积累的心血与智慧,为广大Sybase数据库管理员和技术顾问量身定做的!对于所有想使自己的服务器性能最优化的人而言,本书既町以用于学习,又可用做查询手册!本书为整个Sybase服务器性能优化过程提供了全方位指导,从标准系统,优化存储过程,到使用sp_sysmon监控系统,其主要内容包括定义性能,理解I/O完全操作,使用查询优化器,管理内存,以及处理查询。此外,还讨论了应用程序设计,死锁和锁,性能标尺,审计系统,以及解决阻塞系统问题的实用技巧。对于任何想使自己的服务器性能最优化的人,本书可谓是一本必需的实用参考手册。本书是为广大Sybase数据库管理员和技术顾问量身定做的。

作者简介

  JeffGarbus:Remsselaer理工学院(美国)学士,从程序员到大型主机管理员,最后又重新选择程序员职业。他多年的Microdoft和Sybase数据库管理经验,重点帮助客户将现有系统向大型系统移植。他在业界非常出名,多年来在客户会议为客户群做讲演,为国内外的杂志撰写文章和专栏,并出版了多本专著。近年来,他的工作重点已经转向大型数据库、数据仓库的培训和远程数据库管理,Jeff做了14年的顾问工作,9年培训工作,18年的软件行业工作。他在跟时最前沿技术以及将技术传授给他方面具有开赋。Jeff现在是SoaringEagle顾问公司的首席执行官,同时担任专门解决事物处理和性能问题的Tampa公司的RDBMS顾部和培训师。SoaringEagle顾部公司现在已经开始提供远程数据库管理服务。相关图书

图书目录

第1章  导言  (1)
1.1  定义性能  (1)
1.2  权衡  (1)
1.2.1  规范化、性能与灵活性  (1)
1.2.2  检索速度与更新速度  (2)
1.2.3  易于使用与高速事务处理  (2)
1.2.4  存储空间与花费  (2)
1.3  关系型数据库管理系统(RDBMS)  (2)
1.4  期望值  (2)
1.4.1  查询1  (2)
1.4.2  查询2  (3)
1.4.3  查询3  (3)
1.5  定义和捕获瓶颈  (3)
1.5.1  可能会导致瓶颈的性能变数  (3)
1.6  小结:优化方法  (5)
第2章  物理数据库设计问题  (6)
2.1  物理存储结构  (6)
2.2  页面利用率  (6)
2.3  OAM页与GAM页  (7)
2.4  数据页  (8)
2.5  估计表的大小  (8)
2.5.1  当表还没有被装载时  (8)
2.5.2  为已经存在的表估计大小  (9)
2.5.3  估计性能  (9)
2.6  索引和B树结构  (10)
2.6.1  索引结构  (11)
2.6.2  索引类型(APL)  (12)
2.6.3  在数据的前255字节中保存的统计信息  (12)
2.6.4  索引类型(DOL)  (13)
2.6.5  降序索引  (15)
2.6.6  新增行  (15)
2.6.7  删除行  (16)
2.6.8  修改的含义  (16)
2.6.9  设置填充因子  (16)
2.7  选择索引  (16)
2.8  小结  (17)
第3章  I/O完全操作  (18)
3.1  I/O简介  (18)
3.2  剖析硬盘驱动器  (18)
3.2.1  磁盘CPU  (19)
3.2.2  磁盘内存  (19)
3.2.3  主机总线适配器(HBA)  (19)
3.2.4  访问原理  (19)
3.2.5  查明我们正在使用哪种类型的磁盘  (20)
3.2.6  UNIX的iostat命令使用技巧  (20)
3.3  磁盘阵列  (21)
3.3.1  内存缓存  (21)
3.3.2  可选路径  (22)
3.3.3  主机到磁盘阵列适配器  (22)
3.3.4  预取算法  (22)
3.3.5  硬件镜像  (22)
3.3.6  RAID 5优化  (22)
3.3.7  切分  (23)
3.4  存储区域网  (23)
3.4.1  SCSI协议  (24)
3.4.2  FCP协议  (26)
3.5  逻辑卷管理器  (28)
3.5.1  逻辑卷管理器的优点  (28)
3.5.2  逻辑卷管理器的缺点  (29)
3.6  RAID标准  (29)
3.6.1  常用的RAID标准  (29)
3.6.2  支持RAID标准的逻辑卷管理器  (30)
3.6.3  将功能性从LVM移植到磁盘阵列中  (31)
3.7  I/O始末  (31)
3.7.1  同步I/O请求  (31)
3.7.2  异步I/O请求  (31)
3.7.3  请求  (32)
3.8  对磁盘存储进行基准测试  (34)
3.8.1  TPC数据库基准测试  (34)
3.8.2  准备  (34)
3.8.3  将测试的内容  (35)
3.8.4  第一次基准测试(单磁盘)  (35)
3.8.5  第二次基准测试(多磁盘)  (36)
3.8.6  dd命令的运行结果  (36)
3.9  分段对性能的影响  (36)
3.9.1  磁盘布局  (37)
3.9.2  Wide thin stripes  (37)
3.10  Sybase内核线程安排  (37)
3.10.1  上下文切换  (38)
3.10.2  ASE内核如何掌握时间  (38)
3.10.3  时间片和CPU Grace Time  (38)
3.11  异步预取  (39)
3.11.1  预测集  (40)
3.11.2  配置APF  (40)
3.11.3  APF的预取和丢弃缓存策略  (41)
3.11.4  使用Sp_sysmon监测APF  (41)
3.11.5  APF窍门  (42)
3.12  逻辑页大小  (42)
3.12.1  页大小的变动  (43)
3.12.2  空间分配  (43)
3.12.3  在使用大尺寸页的时候应该留心什么  (43)
3.12.4  受益于大尺寸页的任务  (44)
3.13  Sybase ASE基准测试  (44)
3.13.1  应用基准测试  (45)
3.13.2  DBA维护基准测试  (45)
3.14  了解Sp_sysmon中的I/O统计信息  (46)
3.14.1  内核利用率  (46)
3.14.2  任务管理  (47)
3.14.3  高速缓存统计信息  (48)
3.14.4  磁盘I/O管理  (49)
3.14.5  设备活动细节  (51)
第4章  索引  (52)
4.1  为什么要使用索引  (52)
4.2  索引的使用标准  (52)
4.3  索引和性能  (53)
4.4  确定索引用处  (53)
4.5  数据分布  (53)
4.6  索引统计  (54)
4.6.1  升级11.9版和更高级的统计  (54)
4.6.2  列统计  (55)
4.6.3  什么时候使用附加统计  (56)
4.6.4  为列增加统计  (56)
4.6.5  为次要列增加统计  (56)
4.6.6  选择直方图步数  (57)
4.6.7  使用删除统计命令  (57)
4.6.8  什么时候行计数可能是不准确的  (57)
4.7  组合索引  (58)
4.7.1  复合索引与多个索引的比较  (58)
4.8  聚簇索引  (59)
4.9  非聚簇索引  (59)
4.10  聚簇索引和非聚簇索引的比较  (60)
4.10.1  聚簇索引I/O消耗  (60)
4.10.2  非聚簇索引I/O消耗  (60)
4.10.3  表扫描I/O消耗比较  (61)
4.11  索引覆盖  (61)
4.12  多查询索引  (62)
4.13  OR语句的索引  (62)
4.13.1  特别的OR策略(多匹配索引扫描)  (63)
4.14  总结  (63)
第5章  优化器统计信息  (64)
5.1  什么是统计  (64)
5.2  optdiag  (64)
5.3  统计类型  (64)
5.3.1  表/索引级的统计  (65)
5.3.2  列级统计  (68)
5.4  理解update statistics  (74)
5.5  编辑列级统计信息  (75)
5.5.1  为何需要编辑统计信息  (75)
5.5.2  增加列统计信息  (75)
5.5.3  修改列级统计信息  (78)
5.5.4  删除列级统计信息  (78)
5.5.5  对统计和升级的一些说明  (79)
5.5.6  对增加或者修改的级列统计信息进行维护  (79)
5.6  Optdiag的模拟模式  (80)
5.6.1  什么可以被模拟  (80)
5.6.2  模拟没有保存在系统表的值  (80)
5.6.3  模拟列统计信息  (81)
5.7  在“what-if”分析中的optdiag模拟  (82)
5.7.1  模拟预备  (82)
5.7.2  使用模拟统计信息测试查询  (82)
5.7.3  校验使用的模拟统计信息  (82)
5.7.4  删除模拟统计信息  (83)
5.7.5  返回初始列级统计信息  (83)
第6章  ASE优化器  (84)
6.1  什么是优化器  (84)
6.1.1  为什么要学习优化器  (84)
6.1.2  优化器在查询过程中处于什么位置  (85)
6.2  优化阶段  (85)
6.2.1  准备阶段(索引选择阶段)  (86)
6.2.2  搜索引擎阶段  (91)
第7章  高速缓存策略  (93)
7.1  Sybase内存管理  (93)
7.1.1  内存分配  (93)
7.1.2  系统中所有内存的分配使用情况  (94)
7.1.3  在Adaptive Server 12.5中内存管理的变化  (95)
7.2  内存与性能  (97)
7.3  程序高速缓存  (98)
7.3.1  获得关于程序高速缓存大小的信息  (98)
7.3.2  程序高速缓存大小  (99)
7.4  数据高速缓存  (99)
7.4.1  混合工作负荷  (99)
7.5  命名高速缓存  (99)
7.5.1  MRU/LRU链  (100)
7.5.2  缓冲器清理  (100)
7.6  高速缓存策略  (101)
7.6.1  选择高速缓存策略  (101)
7.6.2  大块I/O与高速缓存策略  (102)
7.6.3  命名高速缓存优化  (103)
7.6.4  OLTP类型事务策略  (103)
7.6.5  DSS类型事务策略  (104)
7.6.6  宽松策略  (105)
7.7  大块I/O性能  (105)
7.8  配置高速缓存需要考虑的问题  (106)
第8章  并行查询处理  (108)
8.1  引言  (108)
8.2  为什么使用并行查询  (108)
8.3  并行处理模型  (108)
8.4  并行查询如何访问对象  (109)
8.4.1  基于散区的表扫描  (110)
8.4.2  基于散列的非聚簇索引扫描  (110)
8.4.3  基于散列的聚簇索引扫描  (110)
8.4.4  基于分区的扫描  (110)
8.4.5  基于分区的聚簇索引扫描  (111)
8.5  并行查询的ASE配置  (111)
8.6  控制并行查询的数量  (111)
8.7  如何执行并行查询  (112)
8.7.1  并行查询测试——单个查询  (112)
8.7.2  并行查询测试——多个查询  (113)
8.7.3  平衡吞吐量  (114)
8.8  工作进程不足  (114)
8.8.1  并行排序  (115)
8.8.2  配置生产者进程数量  (115)
8.8.3  配置消费者进程的数量  (116)
8.8.4  排序缓冲区  (116)
8.8.5  为优化性能配置ASE  (116)
8.8.6  Set sort_resources 命令  (116)
8.8.7  期望的性能  (117)
8.9  监测并行查询  (117)
8.9.1  showplan  (117)
8.9.2  跟踪日志  (118)
第9章  应用程序设计  (122)
9.1  客户端设计  (122)
9.2  资源竞争  (122)
9.2.1  内存与缓存  (124)
9.2.2  临时数据库  (124)
9.3  应用程序的维护  (125)
9.3.1  索引  (125)
9.3.2  分区与并行  (126)
9.3.3  死锁  (126)
9.3.4  隔离水平  (127)
9.4  游标  (128)
9.5  事务长度  (128)
9.6  数据确认  (129)
9.7  数据处理  (129)
9.8  标准化与非标准化  (130)
9.9  HTML与XML  (130)
9.10  应用程序设计过程  (131)
第10章  T-SQL编程  (132)
10.1  本章简介  (132)
10.2  存储过程与内置代码  (132)
10.2.1  程序返回代码和错误处理  (137)
10.3  触发器  (139)
10.4  特征函数  (142)
10.4.1  子查询  (145)
10.4.2  事务嵌套级别和模式  (147)
10.4.3  Java函数  (148)
第11章  优化存储过程  (149)
11.1  简介  (149)
11.2  我应该从哪里开始  (149)
11.3  优化存储过程  (149)
11.4  存储并执行存储过程  (150)
11.4.1  建立查询树:解析方法  (150)
11.4.2  建立查询计划:编译  (150)
11.5  计划阶段  (152)
11.6  测试并调试存储过程  (152)
11.6.1  调试技巧  (153)
11.7  使用SARG(Search Arguments)  (154)
11.7.1  匹配SARG中的数据类型  (154)
11.7.2  SARG指导方针  (156)
11.8  临时表和存储过程  (156)
11.9  性能评估  (158)
11.9.1  showplan选项  (158)
11.9.2  统计信息时间  (159)
11.9.3  统计信息IO  (159)
11.9.4  fmtonly命令  (159)
11.9.5  forceplan命令  (159)
11.9.6  Table count  (160)
11.9.7  指定策略(index … prefetch … mru_lru … parallel)  (160)
11.9.8  sp_cachestrategy命令  (160)
11.9.9  sort_merge命令  (160)
11.9.10  parallel_degree命令  (160)
11.9.11  工具的使用  (160)
11.9.12  Showplan报告的解释  (161)
11.9.13  运行过程中存储过程的测量  (162)
11.9.14  连接列和搜索形参的检查  (163)
11.9.15  避免存储过程的“热点”  (164)
11.10  存储过程性能的提高  (164)
第12章  锁  (166)
12.1  对象为何要被锁定  (166)
12.2  ANSI事务隔离级别  (166)
12.2.1  级别0  (166)
12.2.2  级别1  (166)
12.2.3  级别2  (167)
12.2.4  级别3  (167)
12.2.5  默认隔离级别  (167)
12.2.6  设置会话隔离级别  (167)
12.2.7  设定语句隔离级别  (168)
12.2.8  锁定表命令  (168)
12.3  锁的粒度  (168)
12.3.1  页/行锁的类型  (169)
12.3.2  表锁  (169)
12.4  ASE锁定方案  (169)
12.4.1  全页锁  (170)
12.4.2  数据页锁  (170)
12.4.3  数据行锁  (170)
12.5  指定锁定方案  (170)
12.5.1  服务器级别锁定  (170)
12.5.2  表级别锁定  (171)
12.6  并行性问题  (171)
12.6.1  全页锁  (171)
12.6.2  数据页锁  (171)
12.6.3  数据行锁  (172)
12.7  配置锁升级  (172)
12.8  设定锁升级值  (173)
12.9  配置锁  (173)
12.10  游标锁定  (174)
12.11  小结  (174)
第13章  死锁  (175)
13.1  什么是死锁  (175)
13.1.1  各种类型的死锁  (175)
13.1.2  使用保持锁的死锁  (176)
13.1.3  Front-End死锁  (177)
13.1.4  错误1205  (177)
13.2  配置选择  (177)
13.2.1  死锁检查  (178)
13.2.2  死锁的避免  (178)
13.3  小结  (179)
第14章  配置  (180)
14.1  如何查看配置设定  (180)
14.2  显示级  (180)
14.3  如何改变配置值  (182)
14.3.1  使用sp_configure来指定配置文件  (182)
14.4  Sybase ASE 11.5版本配置新特征  (183)
14.4.1  错误日志消息扩展  (184)
14.4.2  存储过程的扩展  (185)
14.4.3  资源限制  (185)
14.5  用于NT平台的新配置参数  (186)
14.6  在Sybase ASE 11.9.2版本上的新配置特征  (186)
14.6.1  改变了的配置参数  (189)
14.6.2  重新命名了的配置参数  (189)
14.7  ASE 12的新配置参数  (189)
14.7.1  对现有配置参数的改变  (192)
14.8  Sybase ASE 12.5配置的变化  (193)
14.8.1  ASE 12.5有何新特点  (193)
14.8.2  升级  (193)
14.8.3  新配置参数  (193)
14.8.4  ASE中的内存  (194)
14.9  新的动态配置选项  (197)
14.9.1  改变了的配置选项  (198)
14.9.2  已删除的配置选项  (198)
第15章  如何读取Sp_sysmon输出  (199)
15.1  介绍  (199)
15.2  Sp_sysmon是如何工作的  (199)
15.3  什么时候运行Sp_sysmon  (200)
15.4  如何去运用这些数据呢  (200)
15.4.1  内核利用(Kernel Utilization)  (201)
15.4.2  任务管理  (205)
15.4.3  事务管理  (207)
15.4.4  锁管理  (210)
15.4.5  索引管理  (212)
15.4.6  磁盘I/O管理  (215)
15.4.7  数据高速缓存管理  (217)
15.4.8  过程cache管理  (223)
15.5  小结  (225)
第16章  网络性能  (226)
16.1  Sybase ASE如何处理客户连接  (226)
16.2  如何辨别网络性能问题  (227)
16.3  导致网络性能问题的可能原因  (227)
16.3.1  理解网络性能和结果语句的秘诀  (230)
16.4  总结  (231)
第17章  性能标准  (232)
17.1  CPU的利用率  (232)
17.2  存储管理  (233)
17.2.1  旋转锁  (233)
17.2.2  上下文高速缓存丢失  (233)
17.2.3  整个高速缓存丢失(或高速缓存命中)和整个高速缓存搜索  (234)
17.2.4  每秒钟高速缓存搜索  (234)
17.2.5  死锁  (235)
17.2.6  锁  (235)
17.3  I/O管理  (235)
17.3.1  从Sp_sysmon中统计磁盘数据  (235)
17.3.2  使用iostat的磁盘统计  (236)
17.4  网络管理  (236)
17.4.1  接收或发送网络包  (236)
第18章  审计系统  (238)
18.1  优化审计系统  (238)
18.1.1  可以审计什么  (239)
18.2  Sybsecurity数据库  (239)
18.3  安装审计系统  (240)
18.3.1  通过installsecurity安装审计系统  (240)
18.3.2  通过auditinit安装审计系统  (240)
18.4  审计表  (240)
18.4.1  了解审计表  (241)
18.4.2  改变当前审计表  (244)
18.4.3  存档审计表  (245)
18.4.4  设置阈值过程  (245)
18.4.5  将阈值过程添加到每一个审计段  (246)
18.5  当记录审计数据时  (247)
18.6  审计配置参数与系统程序  (247)
18.6.1  审计的系统程序  (248)
18.7  管理审计系统事务日志  (248)
18.7.1  截断事物日志  (248)
18.7.2  管理无截断的事物日志  (249)
18.7.3  设备充满时挂起审计  (249)
18.7.4  设置审计选项的例子  (249)
18.8  审计队列  (250)
18.9  查询审计追踪  (250)
18.10  回顾审计与性能  (251)
第19章  抽象查询计划  (252)
19.1  将查询与计划联系  (253)
19.2  抽象查询计划语言  (253)
19.2.1  访问方法详细说明  (253)
19.2.2  完整计划和部分计划例子  (254)
19.2.3  识别表  (254)
19.3  细说连接类型  (255)
19.4  提示与部分计划  (256)
19.5  非法或者不一致计划的详细说明  (256)
19.6  为子查询计划创建抽象计划  (256)
19.6.1  实现子查询  (257)
19.6.2  展平查询  (257)
19.6.3  嵌套子查询  (258)
19.7  重新格式化  (259)
19.8  OR策略  (259)
19.9  未指定store运算符  (259)
19.10  有关编写抽象计划的提示  (260)
19.10.1  捕获现有的计划  (260)
19.11  系统升级前后比较  (260)
第20章  各类主题  (262)
20.1  基本控制程序(BCP)  (262)
20.1.1  基本控制程序类型  (262)
20.1.2  如何使用基本控制程序  (262)
20.1.3  如何提高基本控制程序的性能  (263)
20.2  数据库一致性检查工具(DBCC)锁的注意事项  (263)
20.3  临时数据库(tempdb)性能问题  (264)
20.3.1  临时数据库性能诀窍  (264)
20.3.2  临时数据库中的锁冲突  (267)
20.4  日志瓶颈  (267)
20.5  小结  (267)
附录A  使用固态加速器优化Sybase ASE  (268)
附录B  碎片和数据库性能  (274)

本目录推荐