我有一个多租户应用程序,我希望数据的聚集索引支持快速范围查询。多租户群集索引设计
如果我设计我的聚集索引是这样的:
(SystemID, EntityID, IsHidden)
SystemID
是为多租户实例的唯一标识符,EntityID
是实体和IsHidden
的身份是一个标志,该行是否在结果中出现了或不。 SQL Server能否有效地抛出不属于系统的所有数据以及隐藏数据?并确定这些列指定的顺序是否重要?
如果我有一个查询,像这样:
SELECT * FROM MyTable WHERE SystemID = @pSystemID AND IsHidden = 0
我想我试图做的是有效的分区表,以便属于特定系统以及隐藏数据的所有行物理分组紧靠在一起。这样,根据对该数据的查询,它可以轻松地被丢弃。
这是好还是坏? (我倾向于好,我不期待有很多插入物正在发生)
我不确定键列的顺序是否重要,我有点期待它是这样,但不得不问。感谢一帮帮忙! – 2010-11-08 08:42:13