Будет ли индекс полностью загружен в память - PullRequest
0 голосов
/ 28 ноября 2010

Мне интересно, будет ли индекс полностью загружен в память или нет?

Ответы [ 3 ]

1 голос
/ 28 ноября 2010

Кэш сервера базы данных в страницах памяти (или блоках), а не объектах (таблицах, индексах). Если все страницы индекса загружаются часто, они возвращаются в память.

1 голос
/ 28 ноября 2010

Ответ на этот вопрос состоит из нескольких частей:

  1. Размер индекса.
  2. Какие части доступны.
  3. Давление памяти.

У меня был огромный индекс для таблицы, которой SQL Server потребовалось целых 3 минуты, чтобы вернуть первый результат.Второй запрос (другой запрос) был около одной минуты.Третий запрос был 20 секунд.В конце концов все результаты пришли за 0,001 секунды.

Дело?SQL Server кэшировал индекс в памяти во время чтения .

Однако, если бы я оказал другое давление на память на SQL Server, он бы выпал из этих страниц кэшированного индекса по порядку нижних чтений .

1 голос
/ 28 ноября 2010

Нет, он обрабатывается как любые другие данные, хранящиеся на диске.Он загружается на страницу памяти за страницей.И страница остается в памяти до тех пор, пока к ней регулярно обращаются.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...