SpringBoot、MyBatis、postgresSQLを、用いてWebアプリケーションを作成しています。
大量のデータをselectする処理の際に、responseが帰ってくるのに非常に時間がかかります。結果自体は帰ってきます。
SQL文を直接postgresSQLに流すと3分ほどでselect結果が帰ってくるので、MyBatisのデータとオブジェクトのマッピングの際に遅れてると考えています。
responseを返す速度を上げたいのですが、大量のデータをselectする際に処理の記載に注意する点などありますでしょうか?
java
1 2サービスjava 3paramMap.put(キー,条件に使うもの) 4aList = aMapper.selectAEntity(paramMap): 5response.setAList(aList) 6 7マッパーjava 8 9private List<aEntity> selectAEntity(Map<aEntity> map) 10 11マッパーxml 12 13<select id = selectAEntity parmeterType =map resultType = aEntity(完全修飾名で記載)> 14select ~ 15where カラム名 = #{マップに登録したキー} 16</select> 17 18レスポンスクラスjava 19private List<aEntity> aList 20
試したこと
・postgresSQLに直接SQL文を打ち結果が帰って来ることを確認した。
・マッパーメソッドをList型からCursor型に変換→レスポンスはすぐ帰ってくるが、中身が入っていない状態となった。
記載漏れが多いかと思いますが、アプリケーションを通しても、ものすごく時間はかかりますが、結果は帰ってきます。
よろしくお願いします。