SQL系统优化
1 系统优化介绍
在我们的项目中,由于客户的使用时间较长或客户的数据量大,造成系统运
行速度慢,系统性能下降就容易造成数据库阻塞。这是个非常痛苦的事情,用户
的查询、新增、修改等需要花很多时间,甚至造成系统死机的现象。速度慢的原
因主要是来自于资源不足。
数据库的优化通常可以通过对网络、硬件、操作系统、数据库参数和应用程
序的优化来进行。最常见的优化手段就是对硬件的升级。根据统计,对网络、硬
件、操作系统、数据库参数进行优化所获得的性能提升,全部加起来最多只占数
据库系统性能提升的 40%左右(我将此暂时称之为外围优化);其余大部分系统性
能提升来自对应用程序的优化,对于应用程序的优化可以分为对源代码的优化及
数据库 SQL 语句的优化。在本文档只介绍外围优化及 SQL 语句的优化,对于源代
码的优化需要相关方面的专家,形成统一的规范。
一个数据库系统的生命周期可以分成:设计、开发和成品三个阶段。在设计
阶段进行数据库性能优化的成本最低,收益最大。在成品阶段进行数据库性能优
化的成本最高,收益最小。规范的代码和高性能的语句,功在平时,利在千秋。
2 外围优化
2.1、将操作系统与 SQL 数据库的补丁打到最高版本,WIN2003 最高补丁是 SP4,
SQL SERVER2000 最高补丁是 SP4
2.2、在服务器上不要安装与 VA 程序任何无相关的软件,甚至一些与 VA 运行
无关的服务都可以停掉。一般只安装 SQL 数据库、VA 服务端服务及杀毒
软件。
2.3、杀毒软件避免对大文件进行扫描,特别是数据库(MDF 和 LDF)文件,一
定要从杀毒软件的范围内排除掉。
2.4、在进行服务器分区时,分区不要太多,两三个分区就可以了。分区最好
都使用 NTFS 格式。
2.5、定时对磁盘进行扫描和磁盘整理,减少系统文件错误及减少磁盘碎片,
进行磁盘整理时最好不要使用 WINDOWS 本般的扫描功能(扫描之前一定
要对数据库作异地备份)。
2.6、可以考虑设置增大磁盘的缓存区,减少对磁盘的读写次数。
2.7、升级硬件,整机使用更高配置的硬件。或者可以单独增加 CPU 个数、增
大内存等。
2.8、提高网速。
SQL系统优化的更多相关文章
- 系统优化怎么做-SQL优化
大家好,这里是「聊聊系统优化 」,并在下列地址同步更新 博客园:http://www.cnblogs.com/changsong/ 知乎专栏:https://zhuanlan.zhihu.com/yo ...
- 谈谈SQL 语句的优化技术
https://blogs.msdn.microsoft.com/apgcdsd/2011/01/10/sql-1/ 一.引言 一个凸现在很多开发者或数据库管理员面前的问题是数据库系统的性能问题.性能 ...
- 改善SQL语句(转)
二.改善SQL语句 很多人不知道SQL语句在SQL SERVER中是如何执行的,他们担心自己所写的SQL语句会被SQL SERVER误解.比如: select * from ta ...
- (转)SQL 优化原则
一.问题的提出 在应用系统开发初期,由于开发数据库数据比较少,对于查询SQL语句,复杂视图的的编写等体会不出SQL语句各种写法的性能优劣,但是如果将应用 系统提交实际应用后,随着数据库中数据的增加,系 ...
- SQL性能优化
引言: 以前在面试的过程中,总有面试官问道:你做过sql性能优化吗?对此,我的答复是没有.一次没有不是自己的错误,两次也不是,但如果是多次呢?今天痛下决心,把有关sql性能优化的相关知识总结一下,以便 ...
- MY SQL 知识
LINUX配置优化 诊断命令 more perfomance tool SRE performance 硬件优化 raid 10 ssd Fusion-io 大内存 电池后备SCSI磁盘缓存 系统优化 ...
- 编写高性能SQL
前言:系统优化中一个很重要的方面就是SQL语句的优化.对于海量数据,劣质SQL语句和优质SQL语句之间的速度差别可达到上百倍,可见对于一个系统不是简单的能实现其功能就可以了,而是要写出高质量的SQL语 ...
- SQL 性能调优日常积累
我们要做到不但会写SQL,还要做到写出性能优良的SQL,以下为笔者学习.摘录.并汇总部分资料与大家分享! (1)选择最有效率的表名顺序(只在基于规则的优化器中有效) ORACLE 的解析器按照从右到左 ...
- SQL调优
# 问题的提出 在应用系统开发初期,由于开发数据库数据比较少,对于查询SQL语句,复杂视图的的编写等体会不出SQL语句各种写法的性能优劣,但是如果将应用 系统提交实际应用后,随着数据库中数据的增加,系 ...
随机推荐
- COM编程基础(C++)
转自:http://www.yesky.com/20020715/1620482_1.shtml (作为一个初学者,觉得本文挺好,推荐给大家) 这篇文章是给初学者看的,尽量写得比较通俗易懂,并且尽量避 ...
- 如何清除XP的网络共享密码
一.利用NET命令 我们知道在Windows XP中提供了“net user”命令,该命令可以添加.修改用户账户信息,其语法格式为: net user [UserName [Password | *] ...
- TVideoCapture类的源码,继承TCustomPanel,用于视频捕获(用到了SendMessage和SetWindowPos等API)good
unit VideoCapture; interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, ...
- 【msdn wpf forum翻译】TextBox中文本 中对齐 的方法
原文:[msdn wpf forum翻译]TextBox中文本 中对齐 的方法 原文链接:http://social.msdn.microsoft.com/Forums/en-US/wpf/threa ...
- Go 的文件系统抽象 Afero
Afero 是一个文件系统框架,提供一个简单.统一和通用的 API 和任何文件系统进行交互,作为抽象层还提供了界面.类型和方法.Afero 的界面十分简洁,设计简单,舍弃了不必要的构造函数和初始化方法 ...
- C# XML 去xmlns:xsd和xmlns:xsi属性
public static XElement WithoutNamespaces(this XElement element) { if (element == null) return null; ...
- ubuntu Linux 操作系统安装与配置
Ubuntu是一个以桌面应用为主的Linux操作系统.Ubuntu每六个月发布一个新版本(一般是4和10月份,命名为YY.MM),每一个普通版本都将被支持 18个月,长期支持版(Long Term S ...
- C#高性能大容量SOCKET并发(零):代码结构说明
原文:C#高性能大容量SOCKET并发(零):代码结构说明 C#版完成端口具有以下特点: 连接在线管理(提供在线连接维护,连接会话管理,数据接收,连接断开等相关事件跟踪): 发送数据智能合并(组件会根 ...
- SqlServer判断数据库、表、字段、存储过程、函数是否存在
原文:SqlServer判断数据库.表.字段.存储过程.函数是否存在 判断数据库是否存在 if exists (select * from sys.databases where name = '数据 ...
- Qt 使用 Google Breakpad 捕获程序崩溃报告(dump文件) good
http://blog.csdn.net/GoForwardToStep/article/details/56685810