Я пытаюсь запросить базу данных MySQL асинхронно, используя Slick. Следующий шаблон кода, который я использую для запроса примерно 90 тыс. Строк в понимании, кажется, работает изначально, но программа потребляет несколько гигабайт оперативной памяти и выходит из строя без предупреждения после примерно 200 запросов.
import scala.slick.jdbc.{StaticQuery => Q}
def doQuery(): Future[List[String]] = future {
val q = "select name from person"
db withSession {
Q.query[String](q).list
}
}
Я попытался настроить соединения как с помощью метода fromURL
, так и с помощью пула соединений c3p0. Мой вопрос: это способ сделать асинхронные вызовы в базу данных?