【问题标题】:Indexing for first name and last name名字和姓氏的索引
【发布时间】:2011-11-02 15:32:59
【问题描述】:

索引一个人的名字和姓氏的最佳方法是什么?假设用户可以同时搜索名字、姓氏和两者。

  • 我应该创建多列索引还是单独的索引?
  • 我应该使用索引前缀吗?

我们也可以假设人们来自不同的国家。在这种情况下是否不需要使用前缀?

【问题讨论】:

    标签: database database-design indexing


    【解决方案1】:

    情况很清楚。

    在姓氏上创建索引,并可选择将名字添加到第二个位置的相同索引中。

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

    添加名字是可选的,并且取决于表格的大小

    【讨论】:

    • 这是一个关于业务规则的好提示,但 Shark 的回答让我更满意。
    • 姓氏索引是否不慢,因为它必须处理许多重复项?
    【解决方案2】:
    • 您应该创建一个名字/姓氏多列索引。

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

    请注意,插入和更新会更慢(你不会白白得到一些东西)。

    【讨论】:

      【解决方案3】:

      我不确定我是否正确理解了您的问题,但您最好的选择是在查询最多的字段上创建一个非聚集索引。例如,您可以在名字和姓氏上创建一个非聚集索引。您应该会看到性能提升。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-08-19
        • 1970-01-01
        • 2016-02-22
        • 1970-01-01
        • 2012-02-19
        • 1970-01-01
        相关资源
        最近更新 更多