PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Como posso acelerar um diff entre tabelas?


Nas declarações acima você não está usando os índices.

Você poderia fazer algo como:
SELECT * FROM tableA a
  FULL OUTER JOIN tableB b ON a.someID = b.someID

Você poderia então usar a mesma instrução para mostrar quais tabelas tinham valores ausentes
SELECT * FROM tableA a
  FULL OUTER JOIN tableB b ON a.someID = b.someID
  WHERE ISNULL(a.someID) OR ISNULL(b.someID)

Isso deve fornecer as linhas que estavam faltando na tabela A OU na tabela B