sqlserver2005的表能驻留内存吗?

chinayu2007 2015-08-13 01:11:51
我有一张表要频繁读写,想将此表驻留内存中。在网上找到了如下方法:
将数据表Department驻留内存
EXEC sp_tableoption 'Department','pintable', 'true'

提示执行成功。

Select ObjectProperty(Object_ID('Department'),'TableIsPinned')
如果返回结果为1:则表示该表已经设置为驻留内存;0:则表示没有设置为驻留内存。

执行这一句时,返回始终是0,也是没有成功。请问怎么解决呢?

需要什么权限吗?我的用户是sysadmin
...全文
193 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
卖水果的net 版主 2015-08-13
  • 打赏
  • 举报
回复
过时了,只是让执行,但是没什么正经用了。。。
LongRui888 2015-08-13
  • 打赏
  • 举报
回复
有个办法就是,如果这个表的数据量不是太大,你写个定时任务: select * from Department with(nolock) 运行这个语句 就可以保持 数据一直在内存里。
LongRui888 2015-08-13
  • 打赏
  • 举报
回复
此功能是为了在 SQL Server 版本 6.5 中获得良好性能而提供的。DBCC PINTABLE 具有非常不利的副作用。其中包括可能损坏缓冲池。DBCC PINTABLE 不是必需的,并且已被删除以免产生其他问题。此命令的语法仍然有效,但不会影响服务器。 红色的文字表明,这个语句还是可以执行的,但是在sql server 2005及以后的版本,不起作用,执行了这个语句也不会有效果,也不会把这个表的数据锁定在内存中。
gw6328 2015-08-13
  • 打赏
  • 举报
回复
此功能是为了在 SQL Server 版本 6.5 中获得良好性能而提供的。DBCC PINTABLE 具有非常不利的副作用。其中包括可能损坏缓冲池。DBCC PINTABLE 不是必需的,并且已被删除以免产生其他问题。此命令的语法仍然有效,但不会影响服务器。 这个功能是不是 被取消了。 现在想内存表,2012以后可以有内存表了。性能应该更牛叉

34,594

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧