两部分问题:
SQL Server在RAM中处理什么样的操作?我知道的那些如下:表变量和CTE。我的同事还提到了COUNTS和索引?我不确定这是多么准确。
如何控制RAM中存储的数据类型。我知道这是由SQL Server动态分配的,它可能做得很好。但出于学术原因,无论如何都知道管理这个的指导方针?
答案 0 :(得分:0)
粗略地说(这隐藏了一些细节),有两种类型的内存使用:一种用于数据页,另一种用于缓存查询计划。它显然比这更复杂,但你开始需要了解SQL Server的内部结构。
您无法控制存储在RAM中的内容。系统代表您完成。
在理想的设置中,所有活动数据库的热数据页都应该在RAM中。
详情:
答案 1 :(得分:0)
您可以使用DBCC PINTABLE
强制表格位于缓存中。此命令告诉SQL Server不要从内存中刷新表的页面。
http://msdn.microsoft.com/en-us/library/ms178015%28SQL.90%29.aspx