Forpersonaluseonlyinstudyandresearch;mercialuse聿 数据库性能一般用两个方面的指标来衡量:响应时间和吞吐量。响应越快,吞吐量越大,数据库性能越好。响应时间和吞吐量有些情况下不能一起得到改善。肀 ,可以从四个方面进行:羁一) 操作系统级:对网络性能、操作系统参数、硬件性能等作改进。袇二) DBServer级:调整存取方法,改善内存管理和锁管理等。袈三) 数据库设计级:采用降范式设计,合理设计索引,分布存放数据等。螂四) 应用程序级:采用高效SQL语句,合理安排事务,应用游标,处理锁。螁本文对第一方面的内容不做讨论,第二方面提到的概念只适用于Sybase数据库,但第三、第四方面讨论的问题同样适用于Sybase外的其他数据库。以上各个方面的措施是相互牵连的,具体到解决一个性能问题,有时候要综合应用。罿 在分析Sybase数据库的性能时,要用到一些数据库系统本身提供的性能调优工具,包括几个系统存储过程:蒂名称羀功能简要介绍肄sp_sysmon袅企业级系统性能报告工具节sp_lock螇查看锁的情况蒇sp_who芅查看线程的活动情况羃sp_procqmode衿存储过程的查询处理模式薅sp_configure螄配置SQLServer系统级参数葿sp_estspace袀估计创建一个表需要的空间和时间羈sp_spaceused膃估计表的总行数及表和索引占用的空间腿sp_monitor蚈监视CPU、I/O的统计活动情况肆 薃在利用isql等一些工具时,还可以设置查询会话中的几个选项,来显示SQL语句执行时的各种统计分析结果:羀指令蝿On的含义膄setnoexecon/off羂分析SQL语句后,还要执行蚀setstatisticsioon/off袀统计SQL执行所需I/O薇setstatisticstimeon/off蒁统计SQL语句执行耗时蒀setshowplanon/off蚈显示查询计划蚅 、系统存储过程sp_sysmon的使用方法:虿在isql下,首先输入 sp_sysmon'begin_sample' 启动一个报告采样肈过一段时间后,再输入 sp_sysmon'end_sample' 结束上次报告采样薄或者紧跟一参数 sp_sysmon'end_sample',"dcache"结束上次报告采样,但只显示数据缓冲(DataCacheManagement)这一部分的情况。袁能替换dcache的可选参数如下表所示:蒆参数膆参数全称,内容范围解释羄Dcache蚂DataCacheManagement,数据缓冲薈Kernel芄KernelUtilization,有关引擎、网络和I/esstoExecutingSQL葿Xactsum膆TransactionProfile莄Xactmgmt聿TransactionManagement芇Indexmgmt莄IndexManagement,索引管理螄Mdcache袀MetadataCacheManagement莈Locks蚇LockManagement,锁管理芃Pcache薀ProcedureCacheManagement葿Memory螅MemoryManagement蚃Recovery莁RecoveryManagement芇Diskio膇DiskI/OManagement,磁盘I/workI/OManagement芈 ,但要在比较稳定的状态下产生,方可作为参考和对照的依据。袁 ,如数据页、索引页的物理结构,每一行的大小计算,不同类型列占用的宽度等等问题,才能对各种调优措施有个深入领会。关于这个问题,比较复杂和细致,请自行参阅有关书籍。膅一般地,对于更改数据的操作,要尽量促进数据库进行直接更新(DirectUpdates),所以要遵守以下几条原则:薂1)除非必要,避免使用允许null值的列和可变长度的列。膇2)如果varchar和varbinary列填充得比较满,毫不犹豫转成char和binary列。螆对于建表时指定的页填充率(pagefillfactor)参数,要权衡确定数值大小。一般:小值,适合于有许多随机插入的表,该表的数据经常被删除,又经常被增加;大值,适合于大多数的数据被增加到表末尾,如客票系统的售票存根和退票存根表。蚄 数据库性能优化的首要方面是最优管理内存。数据库占
Sybase数据库性能调优 来自淘豆网m.daumloan.com转载请标明出处.