Я исследую преимущества обновления с MS SQL 2012 до 2014 года. Одна из главных особенностей SQL 2014 - это оптимизированные для памяти таблицы, которые, очевидно, делают запросы очень быстрыми.
Я обнаружил, что есть несколько ограничений для таблиц, оптимизированных для памяти, таких как:
- Нет
(max)
размеров полей - Максимум ~ 1 КБ на строку
- Нет
timestamp
полей - Нет вычисляемых столбцов
- Нет
UNIQUE
ограничений
Все это квалифицируется как неприятности, но если я действительно хочу обойти их, чтобы получить преимущества в производительности, я могу составить план.
Настоящим ударом является тот факт, что вы не можете выполнить ALTER TABLE
оператор, и вам приходится проходить через эту проверку каждый раз, когда вы просто добавляете поле в INCLUDE
список индекса. Более того, похоже, что вам необходимо отключить пользователей от системы, чтобы внести какие-либо изменения в схемы таблиц MO в действующей БД.
Я нахожу это совершенно возмутительным, поскольку я действительно не могу поверить, что Microsoft могла бы инвестировать так много капитала для разработки в эту функцию и сделать ее поддержку настолько непрактичной. Это приводит меня к выводу, что я, должно быть, получил неправильный конец палки; Должно быть, я неправильно понял что-то об оптимизированных для памяти таблицах, что заставило меня поверить, что поддерживать их гораздо сложнее, чем есть на самом деле.
Итак, что я неправильно понял? Вы использовали таблицы МО? Есть ли какой-то секретный переключатель или процесс, который делает их практичными в использовании и обслуживании?