Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
POSTGRESQL中每n行查询一次_Sql_Postgresql - Fatal编程技术网

POSTGRESQL中每n行查询一次

POSTGRESQL中每n行查询一次,sql,postgresql,Sql,Postgresql,比如说,我在postgresql中有一个简单的表 身份证件 文件名 abc 伯特 def 雅普 ghi 基斯 jkl 简 等 皮特 您可以尝试NTILE()-函数 您可以尝试NTILE()-函数 恐怕这可能是最好的解决办法。我已经在sql server中对一个几乎有6500万行的表执行了下面的查询,并在18秒内得到了结果。我认为这可能是最好的解决办法。因为它是主键列,所以已经有一个集群来加速这个过程。如果你经常做维护工作,这可能是你能要求的最好的 SELECT id FROM ( SELE

比如说,我在postgresql中有一个简单的表

身份证件 文件名 abc 伯特 def 雅普 ghi 基斯 jkl 简 等 皮特 您可以尝试NTILE()-函数

您可以尝试NTILE()-函数


恐怕这可能是最好的解决办法。我已经在sql server中对一个几乎有6500万行的表执行了下面的查询,并在18秒内得到了结果。我认为这可能是最好的解决办法。因为它是主键列,所以已经有一个集群来加速这个过程。如果你经常做维护工作,这可能是你能要求的最好的

SELECT id 
FROM (
  SELECT id, ROW_NUMBER() OVER (ORDER BY id) AS rownum 
  FROM mytable
) as t 
WHERE ((t.rownum - 1) % 10000) = 0;

请让我知道确切的行号和执行时间。并在重新编制索引后运行它。

恐怕这可能是最好的解决方案。我已经在sql server中对一个几乎有6500万行的表执行了下面的查询,并在18秒内得到了结果。我认为这可能是最好的解决办法。因为它是主键列,所以已经有一个集群来加速这个过程。如果你经常做维护工作,这可能是你能要求的最好的

SELECT id 
FROM (
  SELECT id, ROW_NUMBER() OVER (ORDER BY id) AS rownum 
  FROM mytable
) as t 
WHERE ((t.rownum - 1) % 10000) = 0;

请让我知道确切的行号和执行时间。并在重新编制索引后运行它。

浮现在脑海中。但是,如果这对你有用,取决于每10公里的准确度。什么是“用户”?请使用数字。有多少百万?有多慢?你需要多快?
EXPLAIN(ANALYZE,BUFFERS)
的输出是什么?最好是在打开track\u io\u计时之后?@Maarten:它需要您知道大约每10k行拾取多少行或占所有行的百分比,是的。当然,差距可能会有很大的不同。在极端情况下,它也可以拾取连续的两行。@Maarten:对不起,我不知道它是否会更快。我认为这是一个很好的机会,但你必须亲自测试才能确定。我想到了。但是,如果这对你有用,取决于每10公里的准确度。什么是“用户”?请使用数字。有多少百万?有多慢?你需要多快?
EXPLAIN(ANALYZE,BUFFERS)
的输出是什么?最好是在打开track\u io\u计时之后?@Maarten:它需要您知道大约每10k行拾取多少行或占所有行的百分比,是的。当然,差距可能会有很大的不同。在极端情况下,它也可以拾取连续的两行。@Maarten:对不起,我不知道它是否会更快。我认为这是一个很好的机会,但你必须亲自测试才能确定。