数据库设计与操作系统的关系 提升sql语句效率
![数据库设计与操作系统的关系 提升sql语句效率](/storage/article/20220925/ufdpp0ol1af.jpg)
但是升级前必须监视系统的其他特性,如果是因为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子系统有关的问题也许是最容易的,多数情况下,增加磁盘驱动器就可以解决这个性能问题。
影响操作系统性能的因素很多,而应用又各不相同,找出一个通用的优化方案是很困难的,只能是在系统开发和维护的过程中针对数据库运行的具体情况,在不断提高数据库设计的同时,不断加以调整,使得数据库在该操作系统能够顺利的运行。