私は、MS SQL 2012から2014へのアップグレードの利点を調査しています。SQL2014の大きなセールスポイントの1つは、クエリを超高速にするメモリ最適化テーブルです。
メモリ最適化テーブルには、次のようないくつかの制限があることがわかりました。
- いいえ
(max)
サイズのフィールドありません - 行ごとに最大1 KB
timestamp
フィールドなし- 計算列はありません
UNIQUE
制約なし
これらはすべて迷惑と見なされますが、パフォーマンス上のメリットを得るために本当に回避したい場合は、計画を立てることができます。
実際のキッカーは、ALTER TABLE
ステートメントを実行できないという事実であり、インデックスのリストにフィールドを追加するたびに、このリマロールを実行する必要がINCLUDE
あります。さらに、ライブDBのMOテーブルにスキーマを変更するには、ユーザーをシステムから締め出す必要があるようです。
マイクロソフトがこの機能にこれほど多くの開発資金を投資したとは信じられないほど、これはまったくとんでもないことであり、維持するのは非常に実用的ではありません。これは、私がスティックの間違った終わりを得たに違いないという結論に私を導きます。メモリを最適化したテーブルについて誤解していたため、実際よりも保守がはるかに困難であると思われました。
それで、私は何を誤解しましたか?MOテーブルを使用しましたか?それらを使用および保守するのに実用的な何らかの種類の秘密のスイッチまたはプロセスがありますか?