我在PostgreSQL服务器数据库上有一个几乎 300万行的表,我需要将所有行保存到CSV文件中。这里的问题是,每次运行流程时,行必须以不同的随机顺序保存。
值得注意的是它是一个C#WinForms应用程序。
我尝试将数据加载到List<>并且使用了一个洗牌算法,但它需要永远完成,我真的需要它快速。我认为直接在查询中执行它会快得多,但我不知道如何做到这一点。
答案 0 :(得分:3)
通常,您只需ORDER BY
数据库风格的随机函数,例如
SELECT * FROM table ORDER BY RANDOM()
这可能与清洗列表一样慢,具体取决于数据库服务器或产品。
答案 1 :(得分:2)