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

Database 何时以及如何在Grails中创建索引?,database,hibernate,grails,gorm,grails-2.0,Database,Hibernate,Grails,Gorm,Grails 2.0,在Grails中,您可以添加到域类中 Grails是否默认为我的选项卡生成索引? 是否有规则规定索引必须使用哪些列? 设置索引时,我的查询是否会更改? 这其实不是Grails的问题,除了关于Grails何时以及是否创建索引的部分。您需要它们,就像在任何使用数据库的应用程序中一样—创建它们以提高查找性能 Grails实际上并不创建任何表,Hibernate在生成创建表的DDL时会这样做。通过运行grails模式导出,您可以随时看到这个DDL—生成的文件将是target/DDL.sql 通常,您会看

在Grails中,您可以添加到域类中

Grails是否默认为我的选项卡生成索引?
是否有规则规定索引必须使用哪些列? 设置索引时,我的查询是否会更改?
这其实不是Grails的问题,除了关于Grails何时以及是否创建索引的部分。您需要它们,就像在任何使用数据库的应用程序中一样—创建它们以提高查找性能

Grails实际上并不创建任何表,Hibernate在生成创建表的DDL时会这样做。通过运行grails模式导出,您可以随时看到这个DDL—生成的文件将是target/DDL.sql

通常,您会看到独特的约束,这些约束通常会创建一个独特的索引,在MySQL和其他一些数据库中,您会看到在外键上创建的索引,但由于某些原因,Oracle没有这样做


正如您在问题中提到的那样,对于让Hibernate创建索引有一些映射支持,但通常您需要自己创建索引,因为它们通常是特定于数据库的。使用插件来实现这一点。

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

Grails实际上并不创建任何表,Hibernate在生成创建表的DDL时会这样做。通过运行grails模式导出,您可以随时看到这个DDL—生成的文件将是target/DDL.sql

通常,您会看到独特的约束,这些约束通常会创建一个独特的索引,在MySQL和其他一些数据库中,您会看到在外键上创建的索引,但由于某些原因,Oracle没有这样做


正如您在问题中提到的那样,对于让Hibernate创建索引有一些映射支持,但通常您需要自己创建索引,因为它们通常是特定于数据库的。为此使用插件。

通常,您将在频繁查询和执行成本高的查询的列上使用索引。这将使用任何关系数据库和任何开发框架实现


关于Grails,我发现这篇文章在Grails中如何定义索引方面非常有用:

通常,您将在频繁查询和执行成本高的查询的列上使用索引。这将使用任何关系数据库和任何开发框架实现


关于Grails,我发现这篇文章在Grails中如何定义索引方面非常有用:

是否有一条规则规定我必须使用哪些列作为索引?设置索引时,我的查询是否会更改?通常,PK和FK应该涵盖大多数情况。但深入了解如何编制索引是一个相当复杂的话题。这取决于很多事情,你需要经验来知道哪个索引有帮助或没有帮助。若你们要研究索引,我建议你们也建议分区。如果你知道如何使用这两种方法,你会大大提高你的应用程序的性能。有没有一条规则规定我必须使用哪些列作为我的索引?设置索引时,我的查询是否会更改?通常,PK和FK应该涵盖大多数情况。但深入了解如何编制索引是一个相当复杂的话题。这取决于很多事情,你需要经验来知道哪个索引有帮助或没有帮助。若你们要研究索引,我建议你们也建议分区。如果您知道如何使用这两种方法,您将大大提高应用程序的性能