hjq19851202
专注才能有收获
摘要: 在上篇文章SQL Server性能调优:资源管理之内存管理篇(上),介绍了SQL Server的内存管理的一些理论知识,这篇利用这些知识来解决现实中常见的一些问题。 一、数据页缓存压力的调优 前篇我们说过,如果用户访问的数据页面都缓存在内存里,这样的相应速度是最快的。但是现实中,数据库的大小都是大于物理内存的,SQL Server不可能将用户需要的所有数据都缓存在内存中,当用户需要的数据不在内存中,将会发生Paging动作从硬盘中读取需要的数据,偶尔的 Paging不会从整体上影响SQL Server的性能,但如果Paging动作经常发生将会严重影响SQL Server整体性能。 当我们进行数据页缓存的调优时,第一步先是确定是否有数据页缓存的压力,第二步是确定数据页缓存页的压力是由哪里引起的,主要可以分成外部压力和内部压力。 阅读全文
posted @ 2011-02-26 18:00 哦,奇怪 阅读(3445) 评论(3) 推荐(1) 编辑
摘要: 今天同学向我提了一个问题,我觉得蛮有意思,现记录下来大家探讨下。 问题是:在一个表里面,有一个允许为空的字段,空是可以重复的,但是不为空的值需要唯一。 表结构如下面代码创建 阅读全文
posted @ 2011-02-23 20:58 哦,奇怪 阅读(10172) 评论(16) 推荐(5) 编辑
摘要: SQL Server作为Windows上运行的应用程序,必须接受Windows的资源管理,利用Windows的API来申请和调度各类资源。但是,由于 Windows的资源管理体系,是为了满足大多数的应用程序所设计的,这对于SQL Server这种定位于企业级、支持多用户和高并发性的数据库应用程序来说不是很适合,为此SQL Server开发了自己的一套资源管理体系——SQLOS(SQL操作系统)。也就是说SQL Server的资源管理分两层,第一层是在Windows上,通过Windows的API来申请资源。第二层是在SQL Server上,利用SQLOS来决定如何使用从Windows那里申请来的资源。 阅读全文
posted @ 2011-02-21 21:25 哦,奇怪 阅读(8269) 评论(6) 推荐(9) 编辑