Grails多列索引

Kim*_*ble 15 database indexing grails grails-orm

有人可以解释如何在Grails中定义多列索引吗?文档最多是稀疏的.

例如,这似乎根本不起作用:http: //grails.org/GORM+Index+definitions

我对此有一些好运,但结果似乎是随机的.在一个域类中起作用的定义在应用于另一个域时不会(当然具有不同的名称). http://www.grails.org/doc/1.1/guide/single.html#5.5.2.6%20Database%20Indices

一些工作示例和解释将受到高度赞赏!

小智 17

对我来说对多列索引有用的解决方案是:

class ClassName {
    String name
    String description
    String state

    static mapping = {
        name index: 'name_idx'
        description index: 'name_idx'
        state index: 'name_idx'
    }
}
Run Code Online (Sandbox Code Playgroud)

这将创建一个名为"name_idx"的索引,其索引中包含三列.

缺点:列按字母顺序列在索引中,而不是输入的顺序.


Ale*_*lli 6

要使索引成为多列,请使用逗号分隔符列出列(注意,逗号后面没有空格,以避免此错误.您指向的第二个URL会遇到错误,如下所示:

index:'Name_Idx, Address_Index'
Run Code Online (Sandbox Code Playgroud)

有空间; 它应该工作

index:'Name_Idx,Address_Index'
Run Code Online (Sandbox Code Playgroud)

您指向的第一个URL是建议的更改(我不相信它目前已实现,并且不知道它有多大可能性).