我有一个包含两个属性的简单域类。例如:
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'
}
答案 0 :(得分:3)
如果您使用:
static mapping = {
firstName index: 'name_idx'
lastName index: 'name_idx'
description index: 'name_idx'
}
这将在索引 name_idx 中创建3列。
请记住,列将按字母顺序列出。
如果你的意思是“什么是最好的:多个索引或多列索引?”嗯,这很大程度上取决于它。但是,总而言之,this post会让你走上正确的道路。您正在寻找的答案取决于您最常用的查询和分组的where子句。