小编Tia*_*tas的帖子

为什么使用 IS DISTINCT FROM - Postgres

这个功能的最佳用途是什么Postgres IS DISTINCT FROM,试听得到了相同的结果,COALESCE但在更短的时间内,按照测试:

SELECT COUNT(P.id)

FROM produto P
  INNER JOIN cliente CL ON P.id_cliente = CL.id_cliente

WHERE 
  COALESCE(CL.tp_pessoa,'') <> 'JURIDICA' -- test with COALESCE, average 610 ms

  (CL.tp_pessoa <> 'JURIDICA' OR CL.tp_pessoa IS NULL) -- test with OR, average 668 ms

  CL.tp_pessoa IS DISTINCT FROM 'JURIDICA' -- test with IS DISTINCT FROM, average 667 ms

  OUTRO TESTE:

  COALESCE(CL.tp_pessoa,'') <> COALESCE(P.observacao,'') -- test with IS DISTINCT FROM, average 940 ms

  CL.tp_pessoa IS DISTINCT FROM P.observacao -- …
Run Code Online (Sandbox Code Playgroud)

sql postgresql

5
推荐指数
3
解决办法
4461
查看次数

Postgres - 获取分配给变量的查询成本

为了获取estimated cost查询的 ,我使用EXPLAIN SELECT column FROM table;,为了获取current cost查询的 ,我使用EXPLAIN ANALYSE SELECT column FROM table;,我的问题是如何cost自动获取查询的 ,而不必explain手动运行每个查询。

我需要类似的东西:

DECLARE cost integer;
DECLARE highercost integer;
DECLARE query text;

highercost := 0;
i := 0;
query = '';

WHILE i < array_length( queryarray ,1) LOOP

    cost := explain analyse queryarray[i];

    IF cost > highercost THEN

        highercost := cost;
        query := queryarray[i];

    END IF;

    i := i+1;

END LOOP;
Run Code Online (Sandbox Code Playgroud)

这个想法是创建一个脚本来检查 a 中的查询log …

sql postgresql postgresql-9.1

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

标签 统计

postgresql ×2

sql ×2

postgresql-9.1 ×1