如何将SQL Server表驻留内存和检测
2007-05-19 09:40:32 来源:WEB开发网核心提示: 可将表Department取消设置为驻留内存,可以使用如下的SQL指令来检测执行情况:Select ObjectProperty(Object_ID('Department'),'TableIsPinned')如果返回结果为1:则表示该表已经设置为驻留内存;
可将表Department取消设置为驻留内存。
可以使用如下的SQL指令来检测执行情况:
Select ObjectProperty(Object_ID('Department'),'TableIsPinned')
如果返回结果为1:则表示该表已经设置为驻留内存;0:则表示没有设置为驻留内存。
2, SP_TableOption
Sets option values for user-defined tables. sp_tableoption may be used to turn on the text in row feature on tables with text, ntext, or image columns.
Syntax
sp_tableoption [ @TableNamePattern = ] 'table'
, [ @OptionName = ] 'option_name'
, [ @OptionValue = ] 'value'
其中,'option_name' 有如下用法:
pintable -- When disabled (the default), it marks the table as no longer RAM-resident. When enabled, marks the table as RAM-resident. (可将指定的表驻留内存)
另外,table lock on bulk load, insert row lock, text in row等等可选值,因不涉及将表驻留内存,具体用法可以查询SQL Server Books Online.
Value有如下用法:
the option_name is enabled (true, on, or 1) or disabled (false, off, or 0)
示例:
EXEC sp_tableoption 'Department','pintable', 'true'
将数据表Department驻留内存
EXEC sp_tableoption 'Department','pintable', 'false'
取消数据表Department驻留内存
可以使用如下的SQL指令来检测执行情况:
Select ObjectProperty(Object_ID('Department'),'TableIsPinned')
如果返回结果为1:则表示该表已经设置为驻留内存;0:则表示没有设置为驻留内存。
3. Conclusions
将数据表设置为驻留内存时,并没有实际将表读入内存中,直到该表从被检索。因此,可以使用如下SQL指令进一步将数据表Department驻留内存:
Select * From Department
另外,可以使用如下SQL指令方便显示/检测数据库Database中所有设置为驻留内存的表:
SELECT * FROM INFORMATION_SCHEMA.Tables
WHERE TABLE_TYPE = 'BASE TABLE'
AND OBJECTPROPERTY(object_id(TABLE_NAME), 'TableIsPinned') > 0
更多精彩
赞助商链接