sql >> Databáze >  >> RDS >> PostgreSQL

SQL JOIN v PostgreSQL - Jiný plán provádění v klauzuli WHERE než v klauzuli ON

Děkujeme za vaše nápady, pokud přidáme index jako

CREATE INDEX t3_t1_nr ON t3(t1_nr);

"BAD"-Statement se trochu zlepší.

Ale konečným řešením pro nás bylo zvýšit statistiky shromážděné pro tyto tabulky:

ALTER TABLE t1 ALTER COLUMN t1_nr SET STATISTICS 10000;
ALTER TABLE t2 ALTER COLUMN t2_nr SET STATISTICS 10000;
ALTER TABLE t3 ALTER COLUMN t1_nr SET STATISTICS 10000;

ANALYZE t1;
ANALYZE t2;
ANALYZE t3;

Po této změně mají oba SELECTy více o stejné době provádění. Více informací naleznete zde:https://www.postgresql.org/docs/12/planner-stats.html




  1. Proč xp_cmdshell nefunguje v SQL Server 2012?

  2. Implementace stránkování pomocí OFFSET FETCH NEXT v SQL Server

  3. Dynamická kontingenční tabulka na serveru SQL Server

  4. Nejlepší způsob, jak zavolat webovou službu z TSQL