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语句各种写法的性能优劣,但是如果将应用 系统提交实际应用后,随着数据库中数据的增加,系 ...
随机推荐
- [bug系列]Method not found: 'Void Microsoft.EntityFrameworkCore.Storage.Internal.RelationalCommandBuilderFactory
bug由来 最近开始学习NetCore,想通过实战使用NetCore做一个集成数据库存储Redis缓存的WebApi项目,由于MSSQL的庞大体积,最终决定使用轻量级关系型数据库MySql. 所以最终 ...
- 宽字符std::wstring的长度和大小问题?sizeof(std::wstring)是固定的32,说明std::wstring是一个普通的C++类,而且和Delphi不一样,没有负方向,因为那个需要编译器的支持
std::wstring ws=L"kkkk"; int il=ws.length(); int ia=sizeof(ws); int ib=sizeof(&qu ...
- 【摘抄】C# DateTime.Now详解
//2008年4月24日 System.DateTime.Now.ToString("D"); //2008-4-24 System.DateTime.Now.ToString(& ...
- SAP和去哪儿网面试感悟
这两天先后面了两家公司,个人感觉挺有意思,就写下来.现在是4月份,校招基本没有了,去哪儿网刚好有春招,我就去试试.SAP是同学推荐的. 去哪儿.参加笔试,个人感觉还行.半个月后收到面试通知.到了面试现 ...
- dotnetspider
http://www.cnblogs.com/modestmt/p/5525467.html nuget :DotnetSpider2.Core
- 利用shell脚本实现计划任务功能 V1.2
2013.05.10 mytask 1.2 主程序休眠时间分成若干小的时间片断分段休眠,避免长时间的休眠不能及时响应系统信号. 2013.05.07 mytask 1.1 昨天发布了mytask1. ...
- Windows 10预装应用太多?一个命令删除!
Windows 10预装了很多应用软件,虽然有些其实也不难用,但是使用率可能比较低,很多人也不喜欢预装的东西,而且还占空间,那么这些预装的如何彻底清除呢? 其实微软是自带了命令可以执行这样的操作,用它 ...
- WIN10以后如果Manifest中不写支持WIN10的话,获取版本号的API获取的是6
if TOSVersion.Major = 10 then // 高版本的Delphi(比如Berlin)可以这样写 ShowMessage('Windows 10'); 或者: if Win32M ...
- Standard C 语言标准函数库速查(彩色的函数列表,十分清楚)
Standard C 语言标准函数库速查 (Cheat Sheet) wcstombs 函数说明 #include <stdlib.h> size_t mbstowcs(wchar_t * ...
- C++的类型转换:static_cast、dynamic_cast、reinterpret_cast和const_cast(dynamic_cast还支持交叉转换,const_cast将一个类的const、volatile以及__unaligned属性去掉)
在C++中,存在类型转换,通常意味着存在缺陷(并非绝对).所以,对于类型转换,有如下几个原则:(1)尽量避免类型转换,包括隐式的类型转换(2)如果需要类型转换,尽量使用显式的类型转换,在编译期间转换( ...