相关疑难解决方法(0)

如何获取 Postgres 数据库的页面大小?

有没有办法选择 Postgres 数据库的页面大小?

我知道页面大小通常是 8K。我还从 2003 年开始阅读此电子邮件主题。我不知道这pg_controldata会起作用,因为我无权访问托管数据库的文件系统。

postgresql

6
推荐指数
1
解决办法
4298
查看次数

按随机含义排序(postgresql)

在 PostgreSQL 中选择随机行的一种可能方法是:

\n\n

select * from table order by random() limit 1000;

\n\n

(另请参阅此处。)

\n\n

我的问题是,order by random()到底是什么意思?是否以某种方式生成了一个随机数并将其视为某种“种子”?或者这是特殊的内置语法,在这个地方random()具有与其他上下文不同的含义?

\n\n

从一些实验来看,最后一种解释似乎更合理。考虑以下:

\n\n
# select random();\n      random       \n\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\n 0.336829286068678\n(1 row)\n
Run Code Online (Sandbox Code Playgroud)\n\n
# select * from article order by 0.336829286068678 limit 5;\nERROR:  non-integer constant in ORDER BY\nLINE 1: select * from article order by 0.336829286068678 limit 5;\n
Run Code Online (Sandbox Code Playgroud)\n

postgresql random select

4
推荐指数
1
解决办法
4351
查看次数

“TABLESAMPLE BERNOULLI(1)”不是很随机吗?

每当我需要从表中返回随机记录并且性能很重要时,而不是:

SELECT column FROM table ORDER BY random() LIMIT 1;
Run Code Online (Sandbox Code Playgroud)

我经常做:

SELECT column FROM table TABLESAMPLE BERNOULLI(1) LIMIT 1;
Run Code Online (Sandbox Code Playgroud)

速度快多了,但似乎不是很随机?看起来重复使用此方法时会返回很多相同的记录。是我一个人的问题,还是这种方法的随机性要低得多(因此用处不大)?

postgresql

1
推荐指数
1
解决办法
7398
查看次数

标签 统计

postgresql ×3

random ×1

select ×1