版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据库性能优化详解当前百胜软件遇到的普遍问题是什么?慢数据统计缓慢,软件长时间未响应,统计数据半天都不显示结果,严重影响工作效率。瓶颈在哪?我们该怎么办?缓慢产生的原因分析1.网络传输环境2.硬件资源3.软件实际操作方面4.占用数据库的并发数目5.数据库SQL方面原因(例如SQL事务死锁,索引问题)常见可改善的方法有以下几点1.调整网络资源,排查是否存在网络数据阻塞问题。2.配备多台应用服务器分担负荷,提高服务器及客户端的硬件资源(CPU和内存)。误区:数据是存放在数据库服务器上,另外单独配备有独立的应用服务器,客户端电脑就不需很好的配置。数据库服务器另外需要配备多块硬盘,并制作Raid(4块硬盘以上的情况下可以建议做Raid10),硬盘不多的情况下做RAID5也可。Raid(磁盘阵列)的作用:一方面保证数据的安全性,另一个方面保证数据读写的速度。WINDOWS2008内可以使用性能监视器进行查看内存、硬盘及CPU的使用情况。以上是从硬件方面加以改善,以下是从软件操作及部署方面改善方法。一、分销系统内使用数据分析报表统计时,尽量避免勾选“逐行插入”的方式进行统计。“逐行插入”不勾选的前提下,会提示Ado错误的解决方法:1.客户端电脑可以正常访问数据库服务器的SQL通讯端口。2.客户端电脑可以正常配置ODBC,并且测试成功。3.局域网电脑需要可以正常访问数据库服务器,即GUEST启用二、统计报表的格式设置内选择字段尽量减少。三、增加多台应用服务器以分担负荷1、没有索引或者没有用到索引(这是查询慢最常见的问题)
2、I/O吞吐量小,形成了瓶颈效应。
3、没有创建计算列导致查询不优化。
4、查询出的数据量过大(可以采用多次查询,其他的方法降低数据量)
5、锁或者死锁(这也是查询慢最常见的问题)6、sp_lock,,sp_who,活动的用户查看,原因是读写竞争资源。
7、返回了不必要的行和列8、查询语句不完善,没有优化由MSSQLSERVER方面产生缓慢的原因MSSQLSERVER方面的性能优化二、数据库容量的虚增影响速度,检查数据库各表的使用情况,删除临时表及已不作使用的表,例如BSTEMP开头的表和视图,TMPORDERFX,YJ开头的表,都是可以进行清空数据的。三、制作维护计划,进行定时执行清理脚本,并当脚本清理结束后,执行数据库收缩维护。一、SQLSERVER环境要求。建议使用MSSQLSERVER2005/2008四、学会利用SQLServerProfiler(事件探查器)工具进行跟踪,常用SQL语句进行检查数据库IO阻塞、执行时间较久的事务、执行最频繁的事务,通过DBCCINPUTBUFFER(id)查看该ID执行的SQL语句,并做相应的处理。相关语句五、数据表的索引优化。使用的工具为SQL2005/2008的数据库引擎优化顾问,分析以上第四步内检查出来的语句,该顾问会给出相应的索引优化建议并会生成相关的SQL脚本。六、RMLUtilitiesforSQLServer工具的使用RMLUtilitiesforSQLServer工具可以实现以下功能1.分析最占资源的应用和查询2.分析跟踪期间的查询计划变更的情况
3.分析哪些查询比起以前来说变慢了2.运行RML命令ReadTrace–I20101030.trc-od:\temp-S(local)-dPrecisionPerformance-I后面为跟踪文件的文件名-o后面为输出的日志文件路径-S后面为SQL实例名称-d后面为分析所用的数据库,需要手工执行脚本创建1.首先利用SQLServerProfiler事件探查器进行跟踪,并保存为具体的跟踪文件,即后缀名为TRC的文件。3.执行完毕后会启动Reporter,查看分析结果七.数据库分区什么是数据库分区?
数据库分区是一种对表的横向分割,Sqlserver2005企业版和之后的Sqlserver版本才提供这种技术,这种对表的横向分割不同于2000中的表分割,它对访问用户是透明的,用户并不会感觉的表被横向分割了。数据库分区是为了提高数据库的读写性能,提高数据库的效率分区技术运用的好的话可以提高性能,是因为一方面分区把一大块数据分成了n小块,这样查询的时候很快定位到某一小块上,在小块中寻址要快很多;另一方面CPU比磁盘IO快很多倍,而硬件上又有多个磁盘,或者是RAID(廉价磁盘冗余阵列),可以让数据库驱动CPU同时去读写不同的磁盘,这样才有可能可以提高效率如何分区?用什么字段做分区依据?
具体如何分区和涉及的业务有关系,要看业务上最经常的写入和读取操作是什么,然后再考虑分区的策略百胜方提供一个分区的方案,主要是把各个业务所使用的表单独存放。需要修改数据库创建的脚本。采用分步执行的方式进行操作以上执行完毕后,数据库分区完成,而新数据库内并没有数据,此时需要从原始数据库内迁移数据到新数据库内在Master上运行p_TransData脚本,创建对应的存储过程,之后运行EXECp_TransData‘olddatabase’,’newdatabase’,’1’进行数据迁移,迁移完成后,启用新的数据库即可。注:此工具内创建新数据库的脚本为20090112的,如果用户已经使用最新的程序,则需要在数据迁移前,使用升级脚本对新数据库升级。升级成功后方可进行数据迁移。八.数据库发布与订阅百胜软件可以提供业务库和统计库分开,使用百胜的分库统计实现负载分担。应用服务进行统计库设置客户端账套管理内勾选启用分库统计实现以上功能,必须使用的是SQLSERVER的发布和订阅功能
支持的SQL环境为SQL2005企业版,SQL2008实现的前提:1.有两台配置相当的数据库服务器2.SQLAgent服务必须开启,并且服务启动的帐号为管理员帐号3.发布服务器和订阅服务器必须相互使用机器名注册,如使用名称无法注册,则需要添加别名。4.两台电脑建立相同的Windows用户,并保持密码一致,具有快照文件夹的完全权限。5.两个数据库的版本必须一致6.数据库内需要发布的表必须有主键,没有主键的表,需要人为添加一个字段。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度房屋装修工程承包合同风险控制策略4篇
- 二零二五版酒店订餐服务质量提升合同6篇
- 二零二五版二手房买卖合同中关于房屋租赁权及转租条款4篇
- 二零二五年度电子存单质押贷款服务合同4篇
- 二零二五年度专业厨房设备研发、生产与销售合同4篇
- 二零二五年度高校科研经费监管与服务合同范本4篇
- 二零二五版餐饮厨房特色菜品研发及推广合作协议3篇
- 2025年度茶叶产品包装研发与生产合同4篇
- 《危房评定标准》课件
- 2025至2030年中国成衣立体包装机数据监测研究报告
- 劳务投标技术标
- 研发管理咨询项目建议书
- 湿疮的中医护理常规课件
- 转钱委托书授权书范本
- 一种配网高空作业智能安全带及预警系统的制作方法
- 某墓园物业管理日常管护投标方案
- 苏教版六年级数学上册集体备课记载表
- NUDD新独难异 失效模式预防检查表
- 内蒙古汇能煤电集团有限公司长滩露天煤矿矿山地质环境保护与土地复垦方案
- 22S702 室外排水设施设计与施工-钢筋混凝土化粪池
- 2013日产天籁全电路图维修手册45车身控制系统
评论
0/150
提交评论