Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JPA存储库-提高findAll()性能_Java_Mysql_Jpa - Fatal编程技术网

Java JPA存储库-提高findAll()性能

Java JPA存储库-提高findAll()性能,java,mysql,jpa,Java,Mysql,Jpa,我使用的是JPA存储库,我需要检索整个Mysql表(40000条记录),其中有5个外键指向较小的表(500条记录)。我需要这5个表中的每个表的一个字段 如果调用JPArepositoryfindall(),检索所有数据需要几秒钟 我需要更快。有办法吗 我不知道什么是最好的解决方案,如果它可以在mysql端完成,或者必须在Java端完成。 所有表都很好地映射到JPA实体: @Entity @Table(name = "T_CLIENT") @Cache(usage = CacheC

我使用的是JPA存储库,我需要检索整个Mysql表(40000条记录),其中有5个外键指向较小的表(500条记录)。我需要这5个表中的每个表的一个字段

如果调用JPArepository
findall()
,检索所有数据需要几秒钟

我需要更快。有办法吗

我不知道什么是最好的解决方案,如果它可以在mysql端完成,或者必须在Java端完成。 所有表都很好地映射到JPA实体:

@Entity
    @Table(name = "T_CLIENT")
    @Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
    public class Client implements Serializable {

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Long id;

    @Column(name = "code")
    private String code;

    @OneToOne
    private Seller seller;

    @OneToOne
    private Language language;

    @OneToOne
    private Address address;

    @OneToOne
    private Country billCountry;

    @OneToOne
    private ClientType clientType;
}

谢谢你的回答。

你可以使用机制从外键表中选择加载字段。

也许你不应该使用<代码> FANDALL()/>代码>如果你只需要5个字段,然后只检索它们。考虑使用“JooPosiple”的单向关联。