我在PostgreSQL服务器数据库中有一个表,有将近300万行,我需要将所有行保存到CSV文件中。这里的问题是每次运行进程时,必须以不同的随机顺序保存行。
值得注意的是,它是一款C#WinForms应用程序。
我试着把数据加载到一个列表中,并使用了一个洗牌算法,但它花了很长时间才完成,我真的需要它变得更快。我认为直接在查询中执行会快得多,但我不知道如何执行。
最佳答案
通常,您只需ORDER BY
一个数据库风格的随机函数,比如
SELECT * FROM table ORDER BY RANDOM()
根据数据库服务器或产品的不同,这可能与重新整理列表一样慢。