• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
导航菜单
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • windows
  • 服务器硬件
  • 服务器运维
  • 云计算
  • 虚拟化
  • IIS教程
  • Linux
  • Apache
  • Ftp
  • DNS
  • Nginx
您的位置:首页 > 服务器 >服务器运维 > SQL Server应用程序性能调优之设计优化

SQL Server应用程序性能调优之设计优化

作者:网友 字体:[增加 减小] 来源:互联网

本文主要包含sql server 应用程序,sql server应用,sql server 2008应用,sql server数据库应用,sql server应用领域等服务器相关知识,网友希望可以进行参考

优化你的应用程序设计

如果你为应用程序使用了多层设计,SQL Server只是一个大型应用程序的一部分。多层设计的实现方式对应用程序性能影响之大,或许会远远超乎你的想象,它比SQL Server所带来的影响大的多。

不幸的是,在应用程序性能低下时,人们往往将其原因归咎于SQL Server,而没有反思应用程序的设计,实际上很多情况下设计缺陷才是导致应用程序性能问题的主要原因。下面我提供一些可以帮助你进行应用设计的建议,以防止SQL Server继续独担性能低下的罪名。

在设计多层应用时你首先需要决定的是,选择逻辑和物理设计。在这两种设计中,物理设计中最易发生导致性能问题的错误,原因是在这个设计中要完成理论在真实世界中的实现。和任何其它事情一样,你面临着多种选择,其中很多选择会带来升级或性能问题。

为了确定哪一种选择才是正确的,需要你再次借助于测试手段,在设计阶段就开始早期潜在测试,你可以使用快速原型测试法,来判断哪一种实现可以最好的满足用户的需要。

另外,当你在设计物理实现时,尽量遵循以下建议,来确保应用程序的可升级性和最优化性能:

尽可能将以数据为中心的任务以存储过程的形式在SQL Server上完成。避免在展现层和业务层处理数据。

不要在业务层保存修改状态数据,尽可能的在数据库中实现。

不要创建复杂或难懂的对象分级。复杂类的创建和使用通常会比较耗资源,会降低应用程序的性能和扩展性。原因是当创建和释放这些对象时,内存分配操作的开销通常比较大。在进行应用程序设计时,可以考虑使用微软事务处理服务器MTS)来充分利用数据库连接池和对象池的优势。MTS可以运行将数据库连接和对象都放到pool中,可以大大提高应用程序的整体性能和可扩展性。

如果你的应用程序针对SQL Server的查询耗时较长,在设计应用程序时可以考虑异步进行查询。这样一个查询不用必须等待前面一条执行完后才能进行。将这个功能加入到你的多层应用软件的一个办法是使用微软消息队列服务器MSMQ)。

虽然按照以上建议并不能确保你获得一个可升级、快速执行的应用程序,却可以说是一个好的开始。

优化数据库的设计

与应用程序设计类似,数据库设计对SQL Server应用程序的可升级性和性能也非常关键。同样与应用程序设计类似,如果你在开始的时候没有合理的进行数据库设计,当应用程序被投入到生产环境中后,再对其进行修改往往非常困难,且代价较高。在设计SQL Server数据库时,以下几件事情对其升级和性能非常关键,需要牢记。

同样的道理,你需要尽可能早的使用真实数据来测试你的设计。这意味着你需要开发具有示例数据的原型数据库,然后使用预计会在真实应用中发生的行为类型来对该设计进行测试。

一开始就需要你确定的设计原则之一是,数据库将被使用来进行联机事务处理OLTP),还是在线分析处理OLAP)。在设计数据库时人们常犯的一个最大错误是,试图设计数据库同时满足OLTP和OLAP需要。如果你希望获得高性能和可扩展性,这两种应用程序类型是互相排斥的。

OLTP数据库通常是高度规格化的,有助于降低必须存储的数据量。存储的数据越少,SQL Server执行的I/O操作就越少,数据库访问就会越快。事务处理也尽可能在短时间内完成,以减少锁定冲突现象。最后一点,为降低大量插入、更新和删除操作的开销,要尽可能少的使用索引。

另一方面,OLAP数据库则是高度反规格化的。另外,它不使用事务处理,因为数据库是只读的记录锁定不是什么问题。当然,为了满足广泛的报表需求,需要大量使用索引。

由此可见,OLTP和OLAP数据库实现的目的完全不同,你不可能设计一个数据库同时满足这两种需求。

在数据库设计早期阶段发现问题后,修改起来相对比较容易,因此不要等到应用程序开发完成后,再去修改数据库设计,这几乎是不可能的。

  1. 微软将推出两款捆绑式服务器软件 中小型企业即插即用
  2. 用端口碰撞技术实现服务器远程管理
  3. Windows Home Server软件错误 致存储文档毁损

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • SQL Server应用程序性能调优之硬件配置
  • SQL Server应用程序性能调优之设计优化
  • SQL Server应用程序性能调优之SQL编程

相关文章

  • 徐州市公安局IT运维管理“不做事后诸葛亮”
  • 十大服务器常见“性能瓶颈”(图)(1)
  • web服务器配置emule功能详解
  • 技巧:Apache服务器的配置与管理
  • WSUS服务器是什么
  • 中小企业服务器性能设计
  • 中小企业实施服务器虚拟化技术小百科
  • Linux系统Qmail邮件服务器安装过程解析
  • 以Apache服务器为例 详解动态网站访问
  • 中小企业虚拟化解决方案选择指南(1)

文章分类

  • windows
  • 服务器硬件
  • 服务器运维
  • 云计算
  • 虚拟化
  • IIS教程
  • Linux
  • Apache
  • Ftp
  • DNS
  • Nginx

最近更新的内容

    • 服务器I/O优化七大注意
    • WSUS服务器组分配选项
    • 低功耗受热捧 十问ARM处理器究竟强在哪?(1)
    • 慎重!服务器电源挑选注意事项
    • swap值:衡量服务器的新标准
    • 内置打印服务器安装和维护(1)
    • 知识:中小企业如何选择服务器(1)
    • 一开始就错了 虚拟化的初衷是安全可靠
    • 年度GPU架构回顾 显示世界的2012(1)
    • 服务器配置升级的七大纪律(1)

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有