sqlserver缓存:sqlserver 中一些常看的指标和清除缓存Cache的思路方法

如何查看磁盘I/O操作信息
SET STATISTICS IO ON 命令是个 使 SQL Server 显示有关由 Transact-SQL 语句生成磁盘活动量信息
我们在分析索引性能时候会非常有用
启用了这个属性后我们在执行 SQL 语句后会收到类似如下信息这有利于我们分析SQL性能:
(3999 row(s) affected)
表 'ChargeCL'扫描计数 1逻辑读取 9547 次物理读取 0 次预读 0 次lob 逻辑读取 0 次lob 物理读取 0 次lob 预读 0 次
其中 lob 逻辑读取、lob 物理读取、lob 预读 这 3个指标是 读取 text、ntext、image 或大值类型 (varchar(max)、nvarchar(max)、varbinary(max)) 时指标
而 逻辑读取、物理读取、预读 是对普通数据页读取
使用 SQL Server Management Studio Standard Reports
我们在 SQL Server Management Studio 中选择数据库服务器或者具体数据库或者Security -- Logins 时或者Management 时Notication Services 或者 SQL Server Agent 对象时候都会看到SQL Server 替我们提供些现成报表这些报表数据有利于我们分析数据库状态
比如在 SQL Server 索引基础知识(1)--- 记录数据基本格式
http://blog.joycode.com/ghj/archive/2008/01/02/113290.aspx
我们就使用数据表占用空间报表
具体报表可以参考以下链接:
SQL Server Management Studio Standard Reports - Overview
http://blogs.msdn.com/buckwoody/archive/2007/10/09/sql-server-management-studio-standard-reports-overview.aspx
测试中释放缓存Cache些思路方法
尤其查询语句性能测试时数据是否被缓存Cache这是测试中个重要点下面几个命令帮助我们清除缓存Cache方便测试
清除缓存Cache有关命令:
SQL 2000里面除了dbcc unpable好像就没有了 而且这个操作也不会立即释放表内存Buffer
(DBCC UNPINTABLE does not cause the table to be immediately flushed from the data cache. It species that all of the pages for the table in the buffer cache can be flushed space is needed to read in a page from disk.)
SQL 2005/2008让DBA能够更自由对SQL所占用内存空间做处理 如:
CHECKPOINT
将当前数据库全部脏页写入磁盘“脏页”是已输入缓存Cache区高速缓存Cache且已修改但尚未写入磁盘数据页CHECKPOINT 可创建个检查点在该点保证全部脏页都已写入磁盘从而在以后恢复过程中节省时间
DBCC DROPCLEANBUFFERS
从缓冲池中删除所有清除缓冲区
DBCC FREEPROCCACHE
从过程缓存Cache中删除所有元素
DBCC FREESYSTEMCACHE
从所有缓存Cache中释放所有未使用缓存Cache条目SQL Server 2005 数据库引擎会事先在后台清理未使用缓存Cache条目以使内存可用于当前条目但是可以使用此命令从所有缓存Cache中手动删除未使用条目
另外还可以 sp_cursor_list 查看全部游标
DBCC OPENTRAN查看数据库打开事务状态等
Tags:  如何清除缓存 清除dns缓存 清除缓存 sqlserver缓存

延伸阅读

最新评论

发表评论