0

我有一个具有两个属性的简单域类。例如:

class Person {
  String firstName
  String lastName
}

现在我想使用动态查找器找到一个名为“Some Guy”的人:

def thisGuy = Person.findByFirstNameAndLastName("Some","Guy")

我应该在我的 person 类中添加什么来在数据库中创建正确的索引以使搜索快速进行?这是我目前的猜测:

static mapping = {

    firstName index: 'Name_Idx'
    lastName  index: 'Name_Idx'
}

这是正确的,还是我应该为每个索引?

static mapping = {
    firstName index: 'Fname_Idx'
    lastName index: 'Lname_Idx'
}
4

1 回答 1

3

如果您使用:

static mapping = {
        firstName index: 'name_idx'
        lastName index: 'name_idx'
        description index: 'name_idx'
}

这将在索引name_idx中创建 3 列。

请记住,列将按字母顺序列出。

如果您的意思是“什么是最好的:多索引还是多列索引?” 好吧,这取决于很多。但是,总而言之,这篇文章会让你走上正确的道路。您正在寻找的答案是它取决于您最常用的查询和分组的 where 子句。

于 2012-08-13T21:55:38.807 回答