如何从 postgreSQL 表中检索随机数据行?

发布于 2024-10-28 03:18:28 字数 263 浏览 1 评论 0原文

我在 PostgreSQL 服务器数据库上有一个表,其中包含近 300 万 行,我需要将所有行保存到 CSV 文件中。这里的问题是,每次运行该过程时,必须以不同的随机顺序保存行。

值得注意的是,它是一个 C# WinForms 应用程序。

我尝试将数据加载到 List<> 中并使用洗牌算法,但它花了很长时间才能完成,我真的需要它很快。我认为直接在查询中执行此操作会快得多,但我不知道如何执行此操作。

I have a table on a PostgreSQL server database with almost 3 million rows and I need to save all rows to a CSV file. The problem here is that the rows must be saved in a different random order each time I run the process.

Worth noting that it's a C# WinForms app.

I tried loading the data into a List<> and using a shuffling algorithm but it took forever to finish, and I realy need it to be fast. I think doing it directly in the query will be much faster but I don't have a clue on how to do it.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

初见你 2024-11-04 03:18:28

通常,您可以ORDER BY您的数据库风格的随机函数,例如

SELECT * FROM table ORDER BY RANDOM()

这可能与打乱列表一样慢,具体取决于数据库服务器或产品。

Typically, you can just ORDER BY a random function of your database flavor, like

SELECT * FROM table ORDER BY RANDOM()

This might be as slow as shuffling the list, depending on the database server or product.

已下线请稍等 2024-11-04 03:18:28

看到这个问题选择随机行

看到这个精彩的链接Depesz 我对获取随机行的想法

See this question Selecting random rows

See this wonderful link Depesz MY THOUGHTS ON GETTING RANDOM ROW

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文