簡體   English   中英

如何在Grails中使用休眠索引?

[英]How do I use Hibernate Indexing in Grails?

我已經閱讀了一些有關如何在數據庫中創建索引列的教程。 Grails文檔中,我知道您必須定義一個索引列。

我的問題是:

  1. 這些索引列怎么辦? 我必須在查詢中使用它們還是Hibernate為我完成工作?

  2. 我如何知道索引應包含哪些列?

  3. 之間的區別是: firstName column: 'First_Name', index: 'Name_Idx'matrix indexColumn: [name: "the_matrix", type: Integer]嗎?

這些索引列怎么辦? 我必須在查詢中使用它們還是Hibernate為我完成工作?

您可以像對待數據庫中的索引一樣對待索引。 它將提高數據檢索操作的速度。 您不需要執行任何操作即可工作,因為hibernate會在最后生成sql,數據庫將決定如何使用索引。

 How do I know which columns an index should contain? 

取決於您對數據庫的了解以及如何優化查詢,簡單的事情是您更頻繁地檢索數據的列可能需要索引。 如果您始終搜索電話號碼或拳頭名稱,請在其上創建索引。 所有數據庫索引規則也都在這里應用。

 What is the difference between: 
firstName column: 'First_Name', index: 'Name_Idx' and 
matrix indexColumn: [name: "the_matrix", type: Integer]

第一個是名為“ Name_Idx”的索引的名稱,該名稱是可選的。 您可以通過定義類型和其他信息,使用第二個信息來添加更多信息。 如果允許grails為您生成數據庫,它將使用這些信息來創建它們。

UPDATE

根據您的問題,要創建復合索引,請查看此鏈接

名稱是您要其上建立索引的列的名稱。 建立索引是更多的數據庫問題,如果需要,您需要創建它們。 我敢肯定,如果您使用sql標記發布它,則可以找到更多信息。 如果您認為自己不需要它們,請立即不要這樣做。如果應用程序遇到性能問題,則可以考慮在查詢中建立索引。 供參考:默認情況下,Grails將為您的主鍵創建索引

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM