光滑的mysql流媒体以避免GC和OOM问题

问题描述

当从数据库查询指定日期范围的记录时,由于返回的记录总数非常大,我遇到了GC问题。作为新手,我不知道使用流媒体。有人可以帮助将以下方法转换为流逻辑-

val res = query.filter { row =>
     (row.category === ServiceConstants.CATEGORY_TYPE.name ) &&
       (row.ftrxDate >= trxDateLowerLimit && row.ftrxDate <= trxDateUpperLimit)}.result
db.run(res)

解决方法

您可以在手册中找到有关如何从数据库中流式传输数据的信息:

https://scala-slick.org/doc/3.3.2/dbio.html#streaming