![](/img/trans.png)
[英]Do I have to create index in database for lat & lng columns when i want to create area search?
[英]When and how do I have to create an Index in Grails?
这不是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.