0

2 つのプロパティを持つ単純なドメイン クラスがあります。例えば:

class Person {
  String firstName
  String lastName
}

ここで、動的ファインダーを使用して、「Some Guy」という名前の男を見つけたいと思います。

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

データベースに適切なインデックスを作成してこの検索を迅速に行うには、個人クラスに何を追加すればよいですか? これは私の現在の推測です:

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 に答える