浅析Sybase 数据库系统性能调优 “性能调优”是对应用程序的性能优化
SYBASE 数据库“性能调优”的主要目的是减少对系统公共资源的争用
对sybase 数据库系统的性能进行优化,是一项长期且受诸多因素影响的工作,它可划分为以下4 个层次: (1) 服务器层:包括对内存的合理分配,锁操作和临时表的使用,与系统配置关联的磁盘的I/O 性能
(2) 数据库层::包括数据库对象的设计,索引的创建
表中数据类型的选择,数据库设备的分配及使用
(3) 应用层:包括T_SQL 查询语句的优化,应用级封锁,事务和游标的使用
(4) 运行环境层:包括硬件、操作系统和网络对总体性能的影响
在数据库应用系统的管理维护中,运行环境引起的性能劣化只有通过硬件的升级才能得到优化,在系统硬件配置和网络设计确定的情况下,影响系统性能的主要是数据库层和服务器层
笔者就数据层和服务器层优化进行总结
一、数据库表的优化 对于 Sybase11
9 以前的版本,由于数据库管理系统只提供了页级锁和表级锁,因此减少页的竞争将有助于提高系统的性能
当大多数更新都发生在同一页上时,该页将成为热点,通过分析性能监测报告,我们可以得到系统的页竞争情况,例如下述报告表明有 99%的插入发生在堆表的最后一页上,并且正在等待锁: Last Page Loocks on Heaps Granted 3
4 185 88
1% Waited 4
0 25 11
9% 解决上述问题的方法有两种:一种是将表分区,表分区后可产生多个页链,这样就有多个“最后一页”来满足插入要求,从而减少并发插入时的相互等待;另一种是采用非簇类索引,将更新分布于表中不同的数据页上,但该方法会增加数据物理顺序的开销
对于一些竞争非常激烈且记录条数较少的表,我们可以通过减少数据页或索引页上行的数量来进行优化,即将一条记录分布在