当前位置:  开发笔记 > 数据库 > 正文

如何有效地确定Postgres表是否有行

如何解决《如何有效地确定Postgres表是否有行》经验,为你挑选了1个好方法。

我做了这个测试,结果看起来计数功能是线性的.我有另一个功能强烈依赖效率知道是否有任何数据,所以我想知道如何用另一个更有效(可能是常量?)的查询或数据结构替换这个选择计数(*).

psql -d testdb -U postgres -f truncate_and_insert_1000_rows.sql> NUL

psql -d testdb -U postgres -f count_data.sql

-------------------------------------------------- ------------------------------

聚合(成本= 36.75..36.76行= 1宽度= 0)(实际时间= 0.762..0.763行= 1个循环= 1) - >数据上的Seq扫描(成本= 0.00..31.40行= 2140宽度= 0) (实际时间= 0.02 8..0.468行= 1000次循环= 1)总运行时间:0.846 ms (3 filas)

psql -d testdb -U postgres -f truncate_and_insert_10000_rows.sql> NUL

psql -d testdb -U postgres -f count_data.sql

-------------------------------------------------- ------------------------------

聚合(成本= 197.84..197.85行= 1宽度= 0)(实际时间= 6.191..6.191行= 1个循环= 1) - >数据上的Seq扫描(成本= 0.00..173.07行= 9907宽度= 0) (实际时间= 0.0 09..3.407行= 10000循环= 1)总运行时间:6.271 ms (3 filas)

psql -d testdb -U postgres -f truncate_and_insert_100000_rows.sql> NUL

psql -d testdb -U postgres -f count_data.sql

-------------------------------------------------- ------------------------------

Aggregate(cost = 2051.60..2051.61 rows = 1 width = 0)(实际时间= 74.075..74.076 rows = 1 loops = 1) - > Seq Scan on datos(cost = 0.00..1788.48 rows = 105248 width = 0 )(实际时间= 0.032..46.024行= 100000次循环= 1)总运行时间:74.164 ms (3 filas)

psql -d prueba -U postgres -f truncate_and_insert_1000000_rows.sql> NUL

psql -d testdb -U postgres -f count_data.sql

-------------------------------------------------- ------------------------------

Aggregate(cost = 19720.00..19720.01 rows = 1 width = 0)(实际时间= 637.486..637.4 87行= 1个循环= 1) - > Seq Scan on datos(cost = 0.00..17246.60 rows = 989360 width = 0 )(实际时间= 0.028..358.831行= 1000000次循环= 1)总运行时间:637.582 ms (3 filas)

数据的定义是

CREATE TABLE data
(
  id INTEGER NOT NULL,
  text VARCHAR(100),
  CONSTRAINT pk3 PRIMARY KEY (id)
);

Tometzky.. 12

从表限制1中选择true;



1> Tometzky..:

从表限制1中选择true;

推荐阅读
ifx0448363
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有