2013-07-04 24 views

回答

4

這不是一個真正的Grails問題,除了有關何時和如果Grails創建索引的部分。在任何使用數據庫的應用程序中,您都需要它們 - 創建它們以提高查找性能。

Grails的實際上並不創造任何,Hibernate並不當它生成創建您的表的DDL。您可以隨時通過運行grails schema-export來查看此DDL - 生成的文件將爲target/ddl.sql

一般來說,你會看到它通常將創建唯一索引,並在MySQL和一些其他的數據庫,你會看到外鍵上創建索引(不過這不是甲骨文做了一些原因)唯一約束。

沒有爲獲得Hibernate來,你在你的問題指出創建索引一些映射支持,但總的來說,你需要自己創建它們,因爲它們往往是特定於數據庫的。爲此,使用http://grails.org/plugin/database-migration插件。

+0

是否有一個規則我必須用我的索引的列?索引設置後,我的查詢是否會更改? – confile

+1

一般來說,PK和FK應該覆蓋大多數情況。但深入瞭解如何索引是一個相當複雜的話題。這取決於很多事情,而且您需要經驗才能知道哪些索引可以提供幫助。 如果你將學習索引,我建議你也建議分區。如果您知道如何使用兩者,您將大大提高應用程序的性能 – JavaDev

相關問題