2017-02-21 6 views
0

Возможно ли, чтобы таблица с оптимизированной памятью на SQL-сервере имела часть своих данных в памяти, а остальная часть на диске?Таблица с оптимизацией памяти - Частичная загрузка данных в память

У меня есть требование загрузить данные за последние 3 месяца в память, а остальное не обязательно должно быть в памяти, потому что это не будет запрошено.

Есть ли способ сделать это с помощью оптимизированных по памяти таблиц? Если нет, есть ли альтернативный способ сделать это?

+2

Рассматривали ли вы разметку таблицы, часто используемые разделы будут находиться в кеше данных, не требуя таблиц с оптимизированной памятью. –

+0

@SteveFord Часто доступные разделы будут оставаться в кеше, если только они не будут выведены из-за давления памяти. В горячих буферах больше нет гарантии того, что что-либо осталось, поскольку DBCC PINTABLE был удален. Единственный вариант, который обеспечивает гарантию, - это таблицы с оптимизацией памяти. На этом этапе хорошо принят шаблон стратегии, в которой горячие данные хранятся в таблицах с оптимизацией памяти, а так называемые «холодные» данные находятся на диске. Представление UNION ALL, похожее на то, что мы имели с «разделенными представлениями» назад, когда связывает данные вместе. Логика приложения также может это сделать. –

ответ

1

База данных может иметь несколько таблиц на диске и мало памяти, но это не возможно иметь, некоторые из таблиц данных в диске и некоторые данные в памяти

У меня есть требование, чтобы загрузить последний данные 3 месяца в память, и остальная часть этого на самом деле не требуется, чтобы быть в памяти, потому что она не будет запрошен

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

2

Используйте представление для объединения таблицы с памятью со стандартной таблицей (секционированный вид). Запустите процесс обслуживания, чтобы по мере необходимости перемещать данные из таблицы памяти в стандартную таблицу.

Вы можете добавить ограничения проверки в стандартную таблицу, чтобы исключить ее из запроса, если эти данные не будут затронуты.

+0

Этот ответ - путь. https://docs.microsoft.com/en-us/sql/relational-databases/in-memory-oltp/application-pattern-for-partitioning-memory-optimized-tables –

 Смежные вопросы

  • Нет связанных вопросов^_^