• ----:)欢迎访问源码网(:----
    • 首页
    • 博客
    • 学院
    • 下载
    • 论坛
    • 影视
    • 发布源码
    • RSS
    • ITPig
    • 笑话网
    • 百家姓
    • 繁體中文

源码网 - 中国第一源码门户
选择镜像:网通镜像 - 电信主站
  • 首 页
  • 新闻动态
  • 网站运营
  • 网页制作
  • WEB开发
  • 编程开发
  • 图像媒体
  • 操作系统
  • 数据库
  • 服务器
热门搜索 优化 SEO 故事 cms IIS7 MySQL 个人 AdSense 主题推广 | 文章搜索: 高级搜索
会员登录/控制面版您的位置: 学院首页 >> 数据库 >> MSSQL >> 详细内容
 

推荐文章

  • SQL数据库的备份、压缩与SQL数据库数据处理的方法
  • 压缩SQL数据库
 
 

热点文章

  • 安装SQL Server 2005实例环境图解
  • SQL数据库的备份、压缩与SQL数据库数据处理的方法
  • SQL SERVER 2005数据库镜像
  • SQL数据库还原出现错误112(磁盘空间不足)的解决办法
  • 如何使用SQL Server 2000中的XML功能
  • Server 2005性能排错
  • SQL Server 2000中的SQL语言简介
  • 在SQL Server中的关系型数据仓库分区策略
  • SQLServer删除日志方法
  • 压缩SQL数据库
  • SQL精妙语句
  • SQL Server 2000中的SQL语言简介(一)
 
 

相关文章

  • MySQL数据库5.1正式版即将发布
  • MySQL数据库下损坏数据的恢复操作其过程总结
  • 让新安装的MySQL数据库变得更安全
  • MySQL数据库优化概述
  • MySQL数据库常用命令
  • 营销下一站:数据库和社会化
  • SQLServer2005数据库还原到SQLServer2000
  • sNewsCMS关于数据库中文的乱码问题的解决方法!
  • [图]MySQL数据库服务器国际知名网站中的使用数量
  • php程序来连接SQL Server数据库的通用类
  • MSSQL数据库转到Firebird数据库的问题
  • 一个关于firebird数据库的sql查询方法
 
 

百度搜索

 
 

浅析SQL Server数据库的性能优化

  • 阅览次数:
  • 文章来源: a hear
  • 原文作者: 不详
  • 整理日期: 2007-04-06
  • 发表评论
  • 字体大小:
  • 小
  • 中
  • 大

在一个大型的数据库中,性能成为人们关注的焦点之一,如何让数据库高效有效的运行成为广大数据库管理人员和开发人员必须要考虑的问题。性能是一个应用或多个应用在相同的环境下运行时对效率的衡量。性能常用响应时间和工作效率来表示。响应时间是指完成一个任务花费的时间,可以从以下三方面来减少响应时间:

· 减少竞争和等待的次数,尤其是磁盘读写等待次数

· 利用更快的部件

· 减少利用资源所需的时间

绝大多数性能的获得来自于优秀的数据库设计、精确的查询分析和适当的索引。最好性能的获得能够通过确立优秀的数据库设计,在开发时学会使用SQL Server查询优化器来实现。

为了取得更好的数据库性能,我们就需要对数据库进行优化,减少系统资源的竞争,如对数据cache,过程cache,系统资源和CPU的竞争。

在SQL Server中,有如下优化层次:

·应用层——大部分性能的获得来自于对你的SQL应用中查询的优化,这必须是以好的数据库设计为基础的。

·数据库层——应用共享在数据库层中的资源,这些资源包括硬盘,事务日志和数据cache。

·服务器层——在服务器层有许多共享的资源,包括数据高速缓存,过程高速缓存,锁,CPU等。

·设备层——指的是存储数据的磁盘及其控制器,在这一层,你应尤其关注磁盘的I/O。

·网络层——指连接用户和SQL Server的网络。

·硬件层——指可利用的CPU。

·操作系统层——理想地,SQL Server是一台机器的唯一主要应用,它必须和操作系统以及其他sybase软件,如Backup Server或SQL Server Monitor共享处理器、内存以及其他资源。

在大多数情况下面,我们是对应用层进行优化,,因为对应用性能的优化是大家最乐于接受的功能,其结果能被观测及检验,查询的性能是SQL应用的整个性能的一个关键。

应用层上的问题包括以下内容:

·决策支持VS.和在线事务处理(OLTP)需要不同的性能策略

·事务设计能够减少并发,因为长的事务保持占用锁,也就减少了其他用户对相关数据的存取

·关联一致性对数据修改需要join操作

·支持Select操作的索引增加了修改数据的时间

·为了安全而设立的审计限制了性能

在应用层优化的选项包括:

·远程处理或复制处理能够把决策支持从OLTP机器中分离出来

·利用存储过程来减少编译时间和网络的利用

·利用最少量的锁去满足你的应用需要

数据库层的问题包括:

·建立备份和恢复方案

·在设备上分布存储数据

·审计操作影响性能;仅审计你所需的

·日常的维护活动将导致性能的降低和导致用户不能操作数据库表

在数据库层上优化选择包括:

·利用事务日志的阀值来自动转储事务日志防止其超出使用空间

·在数据段中用阀值来监视空间的使用

·利用分区来加速数据的装入

·对象的定位以避免硬盘的竞争

·把重要表和索引放入cache中,保证随时取得

服务器层的问题有:

·应用的类型——服务器是支持OLTP还是DSS,或者两者都支持

·所支持的用户数影响优化决策——随着用户数的增加,对资源的竞争会发生改变

·网络负荷

·当用户数和事务数达到一定的数量时复制服务器或其他分布式处理是一个解决的方法

服务器层的优化的选项包括:

·优化内存——一个关键的配置参数和其他方面的参数

·决策是客户端处理还是服务器端处理——有些处理能在客户端进行吗

·配置cache的大小和I/O的大小

·增加多个CPU

·为空闲时间排定批处理任务和生成报表

·工作负荷发生改变,重新配置特定参数

·决定是否可能把DSS移到另一个SQL服务器中设备层

设备层的问题包括:

·主设备、包含用户数据库的设备,用户数据设备,或数据库日志是否要镜像

·怎样在设备之间分布系统数据库、用户数据库和数据库日志

·为获得对堆表插入操作的高性能,是否有必要进行分区

设备层上优化的选项包括:

·用多个中等大小的设备及多个控制器可能比用少量的大设备有更好的I/O性能

·分布数据库,表和索引以在不同的设备上进行I/O装载

网络层

实际上,SQL Server的所有用户都是通过网络存取他们的数据。网络层上的主要问题有:

·网络的流量

·网络的瓶颈

·网络的速度

网络层上优化的选项包括:

·配置包的大小,以使其与应用的需要相匹配

·配置子网

·分隔出繁忙的网络运用

·创建一个高容量的网络

·配置多个网络引擎

·更好地设计应用,限制所需的网络传输

硬件层

在硬件层上的问题包括

·CPU的效率

·磁盘的存取:控制器和磁盘

·磁盘备份

·内存的使用

在硬件层上优化的选项包括:

·增加CPU以适应工作负荷

·配置调度程序以提高CPU利用率

·遵循多处理器应用设计指导以减少竞争

·配置多个数据cache操作系统层

操作系统层的主要问题有:

·文件系统——是否被SQL Server独占使用

·内存管理——精确估算操作系统和其他程序的内存占用

·CPU的利用——整个系统共有多少处理器可用?有多少分配给SQL Server

在操作系统层优化的选项包括:

·网络接口

·在文件和原始分区之间选择

·增加内存

·把客户操作和批处理移到其他机器上

·SQL Server利用多个CPU

上一篇:PHP使用zlib扩展实现页面GZIP压缩输出
下一篇:构建支持Master/Slave读写分离的数据库操作类
  • 网友评论:
  • 查看所有评论
  • 我要发表评论
您的网名:
留言主题:
你要发表的内容:

 

关于本站 | 广告联系 | 版权声明 | 网站地图 | 发布软件 | 帮助中心 | 源码论坛

Copyright © 2005-2007 CodePub.Com  程序支持:木翼  滇ICP备05005971号