zoukankan      html  css  js  c++  java
  • sqlserver清除缓存,记录查询时间

    转:

    --1. 将当前数据库的全部脏页写入磁盘。“脏页”是已输入缓存区高速缓存且已修改但尚未写入磁盘的数据页。

    --   CHECKPOINT 可创建一个检查点,在该点保证全部脏页都已写入磁盘,从而在以后的恢复过程中节省时间。
    CHECKPOINT
    --2. 若要从缓冲池中删除清除缓冲区,请首先使用 CHECKPOINT 生成一个冷缓存。这可以强制将当前数据库的全部脏页写入磁盘,然后清除缓冲区。
    --   完成此操作后,便可发出 DBCC DROPCLEANBUFFERS 命令来从缓冲池中删除所有缓冲区。
    DBCC DROPCLEANBUFFERS
    --3. 释放过程缓存将导致系统重新编译某些语句(例如,即席 SQL 语句),而不重用缓存中的语句。
    DBCC FREEPROCCACHE
    --4. 从所有缓存中释放所有未使用的缓存条目。SQL Server 2005 Database Engine 会事先在后台清理未使用的缓存条目,以使内存可用于当前条目。
    --  但是,可以使用此命令从所有缓存中手动删除未使用的条目。
    DBCC FREESYSTEMCACHE ( 'ALL' )
    --5. 要接着执行你的查询,不然SQLServer会时刻的自动往缓存里读入最有可能需要的数据页.
     
    CHECKPOINT;
    DBCC DROPCLEANBUFFERS; --清除缓冲区
    DBCC FREEPROCCACHE; --删除计划高速缓存中的元素
    DBCC FREESYSTEMCACHE ('ALL');
    SET STATISTICS TIME ON ; --执行时间
    SET STATISTICS IO ON ; --IO读取
    --查询条件
    SET STATISTICS TIME OFF;
  • 相关阅读:
    制药企业核算报表系统整体方案
    制药企业核算报表系统整体方案
    Linux_DHCP&DHCP Relay
    Linux_DHCP&DHCP Relay
    perl 数组元素为空和数组元素为undef 是两码事
    Powershell指令集_1
    Powershell指令集_1
    perl next 循环
    私企也有点儿干不下去,再次离职——北漂18年(35)
    利用微信机器人,自动发送验证码
  • 原文地址:https://www.cnblogs.com/love201314/p/7249199.html
Copyright © 2011-2022 走看看