根据建议索引必须是最有选择性的以提高性能。作为一般准则,我们应该在经常被查询少于表的 15% 行的表上创建索引。索引列/列中不同值的数量与表中记录数的比率表示一个索引。
具有良好选择性的示例 具有 100'000 条记录且其索引列之一具有 88000 个不同值的表,则该索引的选择性为 88'000 / 10'0000 = 0.88。
现在说到点子上了。我有一张有 1,80,000 条记录的表。搜索条件中经常使用的字段是 (1) 使用用户名搜索记录。字段类型:-> 非空,nvarchar(32)。唯一记录是使用 Active_date 的 627 (2) 条搜索记录。字段类型:-> DateTime,Null。唯一记录是 85627 。(3) 使用 Current_state Field Type 搜索记录:-> Not Null , nvarchar(32)。唯一记录只有 2 条,分别是“Pending”和“Closed”。
目前上述所有字段均已编入索引。就选择性而言,情况(1)和(3)不是最有选择性的,在提高性能方面我应该如何处理它们?
在此先感谢,山姆