为了比较测试几个语句的性能,需要禁用sql server缓存,请问如何实现?
类似于mysql里的SQL_NO_CACHE参数,select SQL_NO_CACHE * from table where ...

解决方案 »

  1.   

    印象中以前好像用过,好像是加个with 子句,形式大概是这样:
     select ... from tab1 with (no_cache) xxx
      

  2.   

    测试前清除所有缓存(生产服务器禁用):
    DBCC DROPCLEANBUFFERS 
    从缓冲池中删除所有清除缓冲区。 
    DBCC FREEPROCCACHE 
    从过程缓存中删除所有元素。 
    DBCC FREESYSTEMCACHE 
    从所有缓存中释放所有未使用的缓存条目
    http://blog.csdn.net/huqingwei0824/article/details/7444652
      

  3.   

    似乎确实没有这样的功能。
    有这种写法,  select ... from tab1 with (nolock) 
    但没禁止缓存的