提问人:Yuri Astrakhan 提问时间:9/16/2023 更新时间:9/16/2023 访问量:89
将 Rayon 与 SQLX“类似迭代器”的行流配合使用
Using Rayon with SQLX "iterator-like" stream of rows
问:
Rust SQLX lib 提供了一个类似迭代器的接口,通常与 construct 一起使用。就我而言,每一行可能需要一些时间来处理,所以我想使用 Rayon 的,但这需要一个真正的迭代器。使用不是一个选项,因为所有行可能根本无法放入内存中。fetch(...)
while let Some(row) = rows.try_next().await? {...}
par_iter()
fetch_all
如何使用 Rayon 处理 sqlx 流生成的数百万行?par_iter
fetch
答: 暂无答案
评论
),
可以通过spawn_blocking
来完成,通过通道将所有内容发送到运行 Rayon 的线程,或者简单地buffer_unordered
,具体取决于 while 循环中发生的情况。TryStream