繁体   English   中英

何时以及如何在Grails中创建索引?

[英]When and how do I have to create an Index in Grails?

在Grails中,您可以向域类添加自定义索引

  1. Grails是否默认为我的表格生成索引?
  2. 我必须使用哪些列用于索引吗?
  3. 设置索引时我的查询是否会更改?

这不是Grails的问题,除了关于何时以及Grails创建索引的部分。 您需要它们,就像在任何使用数据库的应用程序中一样 - 创建它们以提高查找性能。

Grails实际上并没有创建任何东西,Hibernate在生成创建表的DDL时会这样做。 您可以通过运行grails schema-export随时查看此DDL - 生成的文件将是target/ddl.sql

通常,您将看到通常会创建唯一索引的唯一约束,并且在MySQL和其他一些数据库中,您将看到在外键上创建的索引(但由于某种原因,这不是为Oracle完成的)。

正如你在问题中提到的那样,有一些映射支持让Hibernate创建索引,但一般来说你需要自己创建它们,因为它们通常是特定于数据库的。 使用http://grails.org/plugin/database-migration插件。

通常,您将在频繁查询和具有高执行成本的查询的列上使用索引。 使用任何关系数据库和任何开发框架都会发生这种情况。

关于Grails,我发现这篇文章对于如何在Grails中定义索引非常有用: http//grails.asia/grails-how-to-create-custom-table-index-or-composite-index

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM