首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在DB MySQL中,索引已经存在于列中,我应该在Hibernate实体中添加索引吗?

问在DB MySQL中,索引已经存在于列中,我应该在Hibernate实体中添加索引吗?
EN

Stack Overflow用户
提问于 2022-04-08 14:15:17
回答 2查看 233关注 0票数 0

如果该列已经具有DB MySQL中的索引“MySQL”。

我还需要添加hiberante实体吗?

代码语言:javascript
复制
@NamedQuery(name = "", query = "SELECT e FROM Entity e WHERE e.value = :value ")
@Table(...
indexes = { @Index(name = "INDEX_VALUE", columnNames = { "value" })})
public class Entity {
}

如果我不在实体中添加这个索引,它会影响@NamedQuery的搜索效率吗?

EN

回答 2

Stack Overflow用户

发布于 2022-04-08 14:37:06

@Index在架构生成中用于指定索引的创建。因此,如果您已经通过SQL脚本创建了它的索引,那么在实体中声明它不会有什么区别。

此索引不影响命名查询,因为命名查询搜索值列,但索引引用状态列。

票数 0
EN

Stack Overflow用户

发布于 2022-04-22 14:32:51

无论您从何处执行查询,您的查询最终都会在MySQL服务器中运行。

代码语言:javascript
复制
@Index 

在创建或更新架构时(当然,当hbm2ddl配置设置为update或create时)将对您有所帮助。

因此,当数据库架构已经对列进行索引时,在实体中使用@Index并没有什么区别。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71798576

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档