我正在研究从MS SQL 2012升级到2014的好处。SQL2014的最大卖点之一是内存优化表,该表显然使查询超快。
我发现在内存优化表上有一些限制,例如:
- 没有
(max)
大小字段 - 每行最大〜1KB
- 没有
timestamp
领域 - 没有计算列
- 无
UNIQUE
约束
这些都是令人讨厌的东西,但是如果我真的想解决这些问题以获得性能上的好处,我可以制定一个计划。
真正的缺点是您不能运行一条ALTER TABLE
语句,并且每次将一个字段添加到索引列表中时,都必须经过这个严格INCLUDE
的规定。此外,似乎必须将用户拒之于系统之外,以便对实时DB上的MO表进行任何模式更改。
我发现这完全是令人发指的,以至于我实际上无法相信Microsoft可以在此功能上投入这么多的开发资金,而使它的维护非常不切实际。这使我得出一个结论,就是我一定弄错了方向。我一定对内存优化表有误解,这使我相信维护它们的难度要比实际困难得多。
那么,我误会了什么?您是否使用过MO表?是否有某种秘密的开关或过程使它们易于使用和维护?