2011-11-02 114 views
3

索引姓名和名字的最佳方法是什么?让我们假设用户可以一起搜索名字,姓氏和他们两个。我应该创建多个列索引还是独立索引?我应该使用索引前缀吗?我们也可以假设人们来自不同的国家。在这种情况下使用前缀是不必要的?为姓氏和名字建立索引

回答

4

情况很清楚。

在姓氏上创建索引,并可选地将第一个姓氏添加到第二个位置上的同一个索引。

这是频繁使用的业务规则的结果,即通过姓氏进行搜索。 姓氏是最有选择性的,任何搜索形式都基于姓氏。 (当然如果你不是在为冰岛公司设计应用程序)。

添加名字是可选的,并且依赖于表

+0

这是一个关于商业规则的好建议,但Shark的答案对我来说更令人满意。 – onatm

+0

姓氏上的索引是否不缓慢,因为它必须处理许多重复项? – scs

2
  • 您应该创建一个名字/姓氏的多列索引。

  • 您应该创建姓氏/名字的多列索引。

注意,插入和更新会慢一些(你没有不劳而获)。

1

的大小,我不知道我在正确理解你的问题,但你最好的选择将是创建的最查询字段非聚集索引。例如,您可以在名字和姓氏上创建非聚集索引。你应该看到性能提升。