读书频道 > 网站 > 网页设计 > SQL Server性能调优实战
2.1.1 内存
15-11-02    下载编辑
收藏    我要投稿   

本文所属图书 > SQL Server性能调优实战

本书是一线DBA技术专家精心之作,积作者多年的经验结晶和最佳实践,也是目前市场上为数不多通过存储原理来讲解性能优化,剖析SQL Server架构,从而帮助读者快速高效调优数据库的图书。书中首先简要介绍了SQL S立即去当当网订购

2.1 服务器硬件

2.1.1 内存

在SQL Server的数据库引擎中,许多重要环节都需要使用到内存。SQL Server日常维护中最值得关注内存的两个部分为执行计划缓存和数据缓存。

1.执行计划缓存(Plan Cache)

执行T-SQL语句时(例如,通过查询管理器(SQL Server Management Studio,SSMS)执行查询语句),待数据库引擎接收到需要执行的语句后,首先会经过一系列复杂的计算和分析,得到相应的执行计划,然后再根据执行计划进行各种操作。由于执行计划的计算和分析需要的CPU资源比较多,所以很容易引起服务器的CPU资源紧张。为了解决这个问题,SQL Server将分析生成好的执行计划缓存起来,称之为执行计划缓存(Plan Cache),后面在介绍执行计划时,会对其进行更详细的介绍。

2.数据缓存(Data Cache)

相较于在内存中读/写数据的速度,在磁盘中读/写数据就实在太慢了。如果SQL Server在进行数据读/写时都是基于磁盘的,那么SQL Server的所有操作都可能慢到令人发指。为了避免出现这样的问题,SQL Server的数据操作都是通过内存来实现的。

数据库在获得执行计划后,将会依据执行计划中所对应的操作步骤一步一步地来执行。若遇到数据访问操作符,则会首先检查对应的数据是否已经在数据缓存中,如果没有,才会通过数据读取模块从磁盘中读取数据,并将这些数据缓存到缓存中,方便之后的语句从缓存中获取数据。

如果数据库内存不足,数据库引擎会依据最近最少使用的算法(Least Recently Used,LRU)将缓存中的数据清理,然后将需要的数据从磁盘中读取并缓存到数据缓存中。这会引起大量的磁盘I/O,并且导致执行语句的执行效率降低,若大批量的语句出现这样的情况,可能会导致服务器CPU占用率飙高。因此,在诊断服务器性能时,如果CPU长期处于繁忙状态,并且磁盘I/O偏高,不妨分析一下服务器的内存是否达到瓶颈了。

点击复制链接 与好友分享!回本站首页
分享到: 更多
您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:1.3 功能
下一篇:1.5 小结
相关文章
图文推荐
JavaScript网页动画设
1.9 响应式
1.8 登陆页式
1.7 主题式
排行
热门
文章
下载
读书

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训
版权所有: 红黑联盟--致力于做最好的IT技术学习网站