DBCC PINTABLE
将表标记为驻留,这表示 Microsoft® SQL Server™ 不从内存中刷新表页。语法
DBCC PINTABLE ( database_id , table_id )参数
database_id是要驻留的表的数据库标识 (ID) 号。若要确定该数据库 ID,请使用 DB_ID 函数。table_id是要驻留的表的对象标识号。若要确定表 ID,请使用 OBJECT_ID 函数。

解决方案 »

  1.   

    DBCC UNPINTABLE
    将表标记为不在内存驻留。将表标记为不在内存驻留后,可以清空高速缓存中的表页。语法
    DBCC UNPINTABLE ( database_id , table_id ) 参数
    database_id是含有要驻留的表的数据库的数据库标识 (ID) 号。若要获得数据库 ID,请使用 DB_ID。table_id是要驻留的表的对象 ID。若要确定对象 ID,请使用 OBJECT_ID。注释
    DBCC UNPINTABLE 不会导致立即将表从数据高速缓存中清空。而指定如果需要空间以从磁盘中读入新页,高速缓存中的表的所有页都可以清空。
      

  2.   

    DBCC PINTABLE 最适用于将小的、经常引用的表保存在内存中。将小表的页一次性读入到内存中,将来对其数据的所有引用都不需要从磁盘读入。注意  DBCC PINTABLE 可以提供性能改进,但是使用时务必小心。如果驻留大表,则该表在开始时会使用一大部分高速缓存,而不为系统中的其它表保留足够的高速缓存。如果所驻留的表比高速缓存大,则该表会填满整个高速缓存。