数据库设计与操作系统的关系 提升sql语句效率

griswold
griswold 这家伙很懒,还没有设置简介...

0 人点赞了该文章 · 93 浏览

数据库设计与操作系统的关系 提升sql语句效率

    数据库设计完成之后,都需要靠一个操作系统的支持来运行。只有相应性能的操作系统来运行数据库,才能使数据库达到相应的价值。操作系统性能的好坏直接影响数据库的使用性能,如果操作系统存在问题,如cpu过载、过度内存交换、磁盘i/o瓶颈等,在这种情况下,单纯进行数据库内部性能调整是不会改善系统性能的。我们可以通过windows nt的系统监视器(system monitor)来监控各种设备,发现性能瓶颈。
数据库设计与操作系统的关系 提升sql语句效率    cpu一种常见的性能问题就是缺乏处理能力。系统的处理能力是由系统的cpu数量、速度、类型决定的。如果系统没有足够的cpu处理能力,它就不能足够快地处理事务以满足需要。我们可以使用system monitor确定cpu的使用率,如果以75%或更高的速率长时间运行,就可能碰到了cpu瓶颈问题,这时应该升级cpu。
    但是升级前必须监视系统的其他特性,如果是因为sql语句效率非常低,优化语句就有助于解决较低的cpu利用率。而当确定需要更强的处理能力,可以添加cpu或者用更快的cpu替换。
    内存 sql server可使用的内存量是sql server性能最关键因素之一。而内存同i/o子系统的关系也是一个非常重要的因素。例如,在i/o操作频繁的系统中,sql server用来缓存数据的可用内存越多,必须执行的物理i/o也就越少。
    这是因为数据将从数据缓存中读取而不是从磁盘读取。同样,内存量的不足会引起明显的磁盘读写瓶颈,因为系统缓存能力不足会引起更多的物理磁盘i/o。可以利用system monitor检查sql server的buffer cache hit ratio计数器,如果命中率经常低于90%,就应该添加更多的内存。
    i/o子系统 由i/o子系统发生的瓶颈问题是数据库设计系统可能遇到的最常见的同硬件有关的问题。配置很差的i/o子系统引起性能问题的严重程度仅次于编写很差的sql语句。
    i/o子系统问题是这样产生的,一个磁盘驱动器能够执行的i/o操作是有限的,一般一个普通的磁盘驱动器每秒只能处理85次i/o操作,如果磁盘驱动器超载,到这些磁盘驱动器的i/o操作就要排队,sql的i/o延迟将很长。这可能会使锁持续的时间更长,或者使线程在等待资源的过程中保持空闲状态,其结果就是整个系统的性能受到影响。
    解决i/o子系统有关的问题也许是最容易的,多数情况下,增加磁盘驱动器就可以解决这个性能问题。
    影响操作系统性能的因素很多,而应用又各不相同,找出一个通用的优化方案是很困难的,只能是在系统开发和维护的过程中针对数据库运行的具体情况,在不断提高数据库设计的同时,不断加以调整,使得数据库在该操作系统能够顺利的运行。

发布于 2022-09-29 16:53

免责声明:

本文由 griswold 原创或收集发布于 火鲤鱼 ,著作权归作者所有,如有侵权可联系本站删除。

火鲤鱼 © 2024 专注小微企业服务 冀ICP备09002609号-8