gpt4 book ai didi

java - JPA:通过外键引用的表的另一个字段进行索引

转载 作者:行者123 更新时间:2023-12-01 05:50:17 25 4
gpt4 key购买 nike

我通过 Play Framework 使用 JPA 和 Mysql。

假设我有一个 JQL 查询,如下所示:

SELECT p FROM Person p WHERE p.address.city = 'New York'

地址字段是地址表的外键引用。

我的理解是,这个查询需要对整个 Person 表进行表扫描,“取消引用”“地址”字段,然后对 Address 表进行扫描。即使 Address 对象上的城市字段已建立索引,我们仍在查看整个 Person 表的扫描。

我想通过以某种方式在 Person 表中的 p.address.city 上创建索引来加快此查询,这在 JPA/MySql 中可能吗?

最佳答案

我相信是这样,如果你使用 Hibernate,你可以使用他们的注释

 @org.hibernate.annotations.Table(
name="table_name",
indexes = { @Index(name="idx_", columnNames = { "xxx", "xx" } ) }
)

@Index 在来自 org.hibernate.annotations 包的列中进行注释(放置在模型中)

希望这有帮助

关于java - JPA:通过外键引用的表的另一个字段进行索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4891754/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com