PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Come posso velocizzare una differenza tra i tavoli?

Nelle affermazioni sopra non stai usando gli indici.

Potresti fare qualcosa come:

SELECT * FROM tableA a
  FULL OUTER JOIN tableB b ON a.someID = b.someID

Puoi quindi utilizzare la stessa istruzione per mostrare quali tabelle avevano valori mancanti

SELECT * FROM tableA a
  FULL OUTER JOIN tableB b ON a.someID = b.someID
  WHERE ISNULL(a.someID) OR ISNULL(b.someID)

Questo dovrebbe darti le righe mancanti nella tabella A OR nella tabella B