Postgres MSSQL
Skočit na navigaci
Skočit na vyhledávání
Původní mail je k dohledání v konferenci pg_hackers
Zdravím všechny, díky za veškerou pomoc. ... Velice stručně řečeno, MS SQL dokáže optimalizovat / ignorovat redundantní, zbytečné tabulky ve FROM a WHERE, kdežto PostgreSQL vykoná přesně to, co je v SQL specifikováno ... Několikrát jsme použili kód v T-SQL, který vypadal asi takto: update "_tbl_tmp2" set "LongBackPeriod" = (select count ("EPeriod") from "_tbl_tmp1" where "_tbl_tmp1"."Row" = "_tbl_tmp2"."Row"); -------------------------------------------------- from "_tbl_tmp2" tmp2, "_tbl_tmp1" tmp1 where tmp2."Row" = tmp1."Row"; --------------------------------------------------- V T-SQL se obě varianty příkazu (jedna bez FROM, druhá včetně FROM tj. poslední dva řádky) se provádějí stejně. V plpgsql v tomto případě FROM a WHERE jsou zbytečně a dochází ke zbytečnému INNER JOINu, který způsoboval naše problémy s výkonem. Jsem šťastný (vlastně nadšený), že mohu nahlásit, že Win2KPro + Pg je o něco rychlejší než Win2Kpro + MSSQL/MSDE A naše procedury jsou v Linuxu (FC7) + Pg8.x 3x rychlejší než na Win2KPro + MSSQL/MSDE. Díky všem za pomoc. Teď už patřím mezi věřící v PostgreSQL. :)