将索引完全加载到内存中

时间:2010-11-28 08:42:55

标签: sql-server oracle sql-server-2008

我想知道索引是否会完全加载到内存中?

3 个答案:

答案 0 :(得分:1)

不,它被视为存储在磁盘上的任何其他数据。它按磁盘页面加载到内存磁盘页面。只要经常访问页面,页面就会保留在内存中。

答案 1 :(得分:1)

数据库服务器缓存在内存页面(或块)中,而不是对象(表,索引)。如果经常加载所有索引页面,它们将在内存中返回。

答案 2 :(得分:1)

答案分为几部分:

  1. 索引的大小。
  2. 访问了哪些部分。
  3. 记忆压力。
  4. 我在一个表上有一个巨大的索引,它花了整整3分钟的时间来返回第一个结果。第二次查询(不同的请求)大概是一分钟。第三次查询是20秒。最终所有结果都是在0.001秒内完成的。

    重点是什么? SQL Server在读取时将内容中的索引缓存

    但是,如果我在SQL Server上施加了其他内存压力,它会按照最低读取次序删除那些缓存的索引页