เจฎเจพเจเจเฉเจฐเฉเจธเจฐเจตเจฟเจธ เจเจฐเจเฉเจเฉเจเจเจฐ, เจเจธ เจธเฉฐเจธเจพเจฐ เจฆเฉ เจนเจฐ เจเฉเจเจผ เจตเจพเจเจ, เจเจธเจฆเฉ เจซเจพเจเจฆเฉ เจ เจคเฉ เจจเฉเจเจธเจพเจจ เจนเจจเฅค เจเฉเจ เจชเฉเจฐเจเจฟเจฐเจฟเจเจตเจพเจ เจเจธ เจจเจพเจฒ เจเจธเจพเจจ เจนเฉ เจเจพเจเจฆเฉเจเจ เจนเจจ, เจนเฉเจฐ เจตเจงเฉเจฐเฉ เจฎเฉเจธเจผเจเจฒเฅค เจ เจคเฉ เจคเจฌเจฆเฉเจฒเฉ เจฆเฉ เจเจคเฉ เจ เจคเฉ เจฌเจฟเจนเจคเจฐ เจฎเจพเจชเจฏเฉเจเจคเจพ เจฆเฉ เจเจผเจพเจคเจฐ, เจคเฉเจนเจพเจจเฉเฉฐ เจเฉเจฐเจฌเจพเจจเฉเจเจ เจเจฐเจจ เจฆเฉ เจฒเฉเฉ เจนเฉเฅค เจเจนเจจเจพเจ เจตเจฟเฉฑเจเฉเจ เจเฉฑเจ เจตเจฟเจธเจผเจฒเฉเจธเจผเจฃ เจฆเฉ เจตเจงเจฆเฉ เจเจเจฟเจฒเจคเจพ เจนเฉเฅค เจเฉเจเจฐ เจเฉฑเจ เจฎเฉเจจเฉเจฒเจฟเจฅ เจตเจฟเฉฑเจ เจธเจพเจฐเฉ เจธเฉฐเจเจพเจฒเจจ เจตเจฟเจธเจผเจฒเฉเจธเจผเจฃ เจจเฉเฉฐ SQL เจธเจตเจพเจฒเจพเจ เจจเฉเฉฐ เจเฉฑเจ เจตเจฟเจธเจผเจฒเฉเจธเจผเจฃเจพเจคเจฎเจ เจชเฉเจฐเจคเฉเจเฉเจฐเจฟเจคเฉ เจตเจฟเฉฑเจ เจเจเจพเจเจ เจเจพ เจธเจเจฆเจพ เจนเฉ, เจคเจพเจ เจเฉฑเจ เจฎเจฒเจเฉเจธเจฐเจตเจฟเจธ เจเจฐเจเฉเจเฉเจเจเจฐ เจตเจฟเฉฑเจ เจนเจฐเฉเจ เจธเฉเจตเจพ เจฆเจพ เจเจชเจฃเจพ เจกเจพเจเจพเจฌเฉเจธ เจนเฉเฉฐเจฆเจพ เจนเฉ เจ เจคเฉ เจ เจเจฟเจนเจพ เจฒเจเจฆเจพ เจนเฉ เจเจฟ เจเฉฑเจ เจชเฉเฉฑเจเจเจฟเฉฑเจ เจจเจนเฉเจ เจเฉเจคเฉ เจเจพ เจธเจเจฆเฉ (เจเจพเจ เจนเฉ เจธเจเจฆเจพ เจนเฉ?)เฅค เจเจนเจจเจพเจ เจฒเจ เจเฉ เจเจธ เจเฉฑเจฒ เจตเจฟเฉฑเจ เจฆเจฟเจฒเจเจธเจชเฉ เจฐเฉฑเจเจฆเฉ เจนเจจ เจเจฟ เจ เจธเฉเจ เจเจชเจฃเฉ เจเฉฐเจชเจจเฉ เจตเจฟเฉฑเจ เจธเฉฐเจเจพเจฒเจจ เจตเจฟเจธเจผเจฒเฉเจธเจผเจฃ เจฆเฉ เจธเจฎเฉฑเจธเจฟเจ เจจเฉเฉฐ เจเจฟเจตเฉเจ เจนเฉฑเจฒ เจเฉเจคเจพ เจ เจคเฉ เจ เจธเฉเจ เจเจธ เจนเฉฑเจฒ เจฆเฉ เจจเจพเจฒ เจเจฟเจตเฉเจ เจฐเจนเจฟเจฃเจพ เจธเจฟเฉฑเจเจฟเจ - เจธเฉเจเจเจค เจนเฉเฅค
เจฎเฉเจฐเจพ เจจเจพเจฎ Pavel Sivash เจนเฉ, DomClick เจตเจฟเจเฉ เจฎเฉเจ เจเฉฑเจ เจ
เจเจฟเจนเฉ เจเฉเจฎ เจตเจฟเฉฑเจ เจเฉฐเจฎ เจเจฐเจฆเจพ เจนเจพเจ เจเฉ เจตเจฟเจธเจผเจฒเฉเจธเจผเจฃเจพเจคเจฎเจ เจกเฉเจเจพ เจตเฉเจ
เจฐเจนเจพเจเจธ เจจเฉเฉฐ เจฌเจฃเจพเจ เจฐเฉฑเจเจฃ เจฒเจ เจเจผเจฟเฉฐเจฎเฉเจตเจพเจฐ เจนเฉเฅค เจฐเจตเจพเจเจคเฉ เจคเฉเจฐ 'เจคเฉ, เจธเจพเจกเฉเจเจ เจเจคเฉเจตเจฟเจงเฉเจเจ เจจเฉเฉฐ เจกเฉเจเจพ เจเฉฐเจเฉเจจเฉเจ
เจฐเจฟเฉฐเจ เจตเจเฉเจ เจธเจผเฉเจฐเฉเจฃเฉเจฌเฉฑเจง เจเฉเจคเจพ เจเจพ เจธเจเจฆเจพ เจนเฉ, เจชเจฐ, เจ
เจธเจฒ เจตเจฟเฉฑเจ, เจเจพเจฐเจเจพเจ เจฆเฉ เจธเฉเจฎเจพ เจฌเจนเฉเจค เจเจผเจฟเจเจฆเจพ เจตเจฟเจเจชเจ เจนเฉเฅค เจกเจพเจเจพ เจเฉฐเจเจจเฉเจ
เจฐเจฟเฉฐเจ เจฒเจ ETL/ELT เจธเจเฉเจเจกเจฐเจก เจนเจจ, เจกเจพเจเจพ เจตเจฟเจธเจผเจฒเฉเจธเจผเจฃ เจ
เจคเฉ เจคเฉเจนเจพเจกเฉ เจเจชเจฃเฉ เจเฉเจฒเจธ เจฆเฉ เจตเจฟเจเจพเจธ เจฒเจ เจเฉเจฒเจธ เจฆเฉ เจธเจฎเจฐเจฅเจจ เจ
เจคเฉ เจ
เจจเฉเจเฉเจฒเจจเฅค เจเจพเจธ เจคเฉเจฐ 'เจคเฉ, เจธเฉฐเจเจพเจฒเจจ เจฐเจฟเจชเฉเจฐเจเจฟเฉฐเจ เจฒเจ, เจ
เจธเฉเจ "เจฆเฉเจเจพ" เจเจฐเจจ เจฆเจพ เจซเฉเจธเจฒเจพ เจเฉเจคเจพ เจนเฉ เจเจฟ เจธเจพเจกเฉ เจเฉเจฒ เจเฉฑเจ เจฎเฉเจจเฉเจฒเจฟเจฅ เจนเฉ เจ
เจคเฉ เจตเจฟเจธเจผเจฒเฉเจธเจผเจเจพเจ เจจเฉเฉฐ เจเฉฑเจ เจกเฉเจเจพเจฌเฉเจธ เจฆเจฟเฉฑเจคเจพ เจเจพเจตเฉเจเจพ เจเจฟเจธ เจตเจฟเฉฑเจ เจเจนเจจเจพเจ เจจเฉเฉฐ เจฒเฉเฉเฉเจเจฆเจพ เจธเจพเจฐเจพ เจกเจพเจเจพ เจนเฉเจตเฉเจเจพเฅค
เจเจฎ เจคเฉเจฐ 'เจคเฉ, เจ เจธเฉเจ เจตเฉฑเจ-เจตเฉฑเจ เจตเจฟเจเจฒเจชเจพเจ 'เจคเฉ เจตเจฟเจเจพเจฐ เจเฉเจคเจพ. เจเฉฑเจ เจธเฉฐเจชเฉเจฐเจจ เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจฌเจฃเจพเจเจฃเจพ เจธเฉฐเจญเจต เจธเฉ - เจ เจธเฉเจ เจเฉเจธเจผเจฟเจธเจผ เจตเฉ เจเฉเจคเฉ, เจชเจฐ, เจเจฎเจพเจจเจฆเจพเจฐ เจนเฉเจฃ เจฒเจ, เจ เจธเฉเจ เจเฉฑเจ เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจฌเจฃเจพเจเจฃ เจ เจคเฉ เจเจธ เจตเจฟเฉฑเจ เจคเจฌเจฆเฉเจฒเฉเจเจ เจเจฐเจจ เจฆเฉ เจฌเจเจพเจ เจนเฉเจฒเฉ เจชเฉเจฐเจเจฟเจฐเจฟเจ เจฆเฉ เจจเจพเจฒ เจคเจฐเจ เจตเจฟเฉฑเจ เจเจพเจซเจผเฉ เจตเจพเจฐ-เจตเจพเจฐ เจคเจฌเจฆเฉเจฒเฉเจเจ เจจเฉเฉฐ เจเฉเฉเจจ เจฆเฉ เจฏเฉเจ เจจเจนเฉเจ เจธเฉ (เจเฉ เจเฉเจ เจธเจซเจฒ เจนเฉเฉฐเจฆเจพ เจนเฉ , เจเจฟเฉฑเจชเจฃเฉเจเจ เจตเจฟเฉฑเจ เจฒเจฟเจเฉ เจเจฟ เจเจฟเจตเฉเจ). เจตเจฟเจธเจผเจฒเฉเจธเจผเจเจพเจ เจจเฉเฉฐ เจเจน เจฆเฉฑเจธเจฃเจพ เจธเฉฐเจญเจต เจธเฉ: "เจฎเฉเฉฐเจกเฉ, เจชเจพเจเจฅเจจ เจธเจฟเฉฑเจเฉ เจ เจคเฉ เจตเจฟเจธเจผเจฒเฉเจธเจผเจฃเจพเจคเจฎเจ เจชเฉเจฐเจคเฉเจเฉเจฐเจฟเจคเฉเจเจ 'เจคเฉ เจเจพเจ," เจชเจฐ เจเจน เจญเจฐเจคเฉ เจฒเจ เจเฉฑเจ เจตเจพเจงเฉ เจฒเฉเฉ เจนเฉ, เจ เจคเฉ เจ เจเจฟเจนเจพ เจฒเจเจฆเจพ เจนเฉ เจเจฟ เจเฉ เจธเฉฐเจญเจต เจนเฉเจตเฉ เจคเจพเจ เจเจธ เจคเฉเจ เจฌเจเจฃเจพ เจเจพเจนเฉเจฆเจพ เจนเฉเฅค เจ เจธเฉเจ FDW (เจตเจฟเจฆเฉเจธเจผเฉ เจกเฉเจเจพ เจฐเฉเจชเจฐ) เจคเจเจจเจพเจฒเฉเจเฉ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจจ เจฆเฉ เจเฉเจธเจผเจฟเจธเจผ เจเจฐเจจ เจฆเจพ เจซเฉเจธเจฒเจพ เจเฉเจคเจพ: เจเจผเจฐเฉเจฐเฉ เจคเฉเจฐ 'เจคเฉ, เจเจน เจเฉฑเจ เจฎเจฟเจเจฐเฉ dblink เจนเฉ, เจเฉ เจเจฟ SQL เจธเจเฉเจเจกเจฐเจก เจตเจฟเฉฑเจ เจนเฉ, เจชเจฐ เจเจธเจฆเฉ เจเจชเจฃเฉ เจฌเจนเฉเจค เจเจผเจฟเจเจฆเจพ เจธเฉเจตเจฟเจงเจพเจเจจเจ เจเฉฐเจเจฐเจซเฉเจธ เจจเจพเจฒ เจนเฉเฅค เจเจธเจฆเฉ เจ เจงเจพเจฐ เจคเฉ, เจ เจธเฉเจ เจเฉฑเจ เจนเฉฑเจฒ เจเฉเจคเจพ, เจเฉ เจเจเจฐเจเจพเจฐ เจซเฉเจฟเจ เจเจฟเจ, เจ เจคเฉ เจ เจธเฉเจ เจเจธ 'เจคเฉ เจธเฉเจเจฒ เจนเฉ เจเจ. เจเจธเจฆเฉ เจตเฉเจฐเจตเฉ เจเฉฑเจ เจตเฉฑเจเจฐเฉ เจฒเฉเจ เจฆเจพ เจตเจฟเจธเจผเจพ เจนเจจ, เจ เจคเฉ เจนเฉ เจธเจเจฆเจพ เจนเฉ เจเจฟ เจเฉฑเจ เจคเฉเจ เจตเฉฑเจง, เจเจฟเจเจเจเจฟ เจฎเฉเจ เจฌเจนเฉเจค เจเฉเจ เจฌเจพเจฐเฉ เจเฉฑเจฒ เจเจฐเจจเจพ เจเจพเจนเฉเฉฐเจฆเจพ เจนเจพเจ: เจกเฉเจเจพเจฌเฉเจธ เจธเจเฉเจฎเจพเจ เจจเฉเฉฐ เจธเจฎเจเจพเจฒเฉ เจเจฐเจจ เจคเฉเจ เจฒเฉ เจเฉ เจจเจฟเจฏเฉฐเจคเจฐเจฃ เจ เจคเฉ เจจเจฟเฉฑเจเฉ เจกเฉเจเจพ เจฆเฉ เจตเจฟเจ เจเจคเฉเจเจฐเจจ เจคเฉฑเจเฅค เจเจน เจเฉฑเจ เจฐเจฟเจเจผเจฐเจตเฉเจธเจผเจจ เจเจฐเจจ เจฒเจ เจตเฉ เจเจผเจฐเฉเจฐเฉ เจนเฉ เจเจฟ เจเจน เจนเฉฑเจฒ เจ เจธเจฒ เจตเจฟเจธเจผเจฒเฉเจธเจผเจฃเจพเจคเจฎเจ เจกเฉเจเจพเจฌเฉเจธ เจ เจคเฉ เจฐเจฟเจชเฉเจเจผเจเจฐเฉเจเจ เจฆเจพ เจฌเจฆเจฒ เจจเจนเฉเจ เจนเฉ, เจเจน เจธเจฟเจฐเจซ เจเฉฑเจ เจเจพเจธ เจธเจฎเฉฑเจธเจฟเจ เจฆเจพ เจนเฉฑเจฒ เจเจฐเจฆเจพ เจนเฉเฅค
เจเฉเจเฉ เจฆเฉ เจชเฉฑเจงเจฐ 'เจคเฉ เจเจน เจเจธ เจคเจฐเฉเจนเจพเจ เจฆเจฟเจเจพเจ เจฆเจฟเฉฐเจฆเจพ เจนเฉ:
เจเฉฑเจฅเฉ เจเฉฑเจ PostgreSQL เจกเฉเจเจพเจฌเฉเจธ เจนเฉ เจเจฟเฉฑเจฅเฉ เจเจชเจญเฉเจเจคเจพ เจเจชเจฃเฉ เจเฉฐเจฎ เจฆเฉ เจกเฉเจเจพ เจจเฉเฉฐ เจธเจเฉเจฐ เจเจฐ เจธเจเจฆเฉ เจนเจจ, เจ
เจคเฉ เจธเจญ เจคเฉเจ เจฎเจนเฉฑเจคเจตเจชเฉเจฐเจจ, เจธเจพเจฐเฉเจเจ เจธเฉเจตเจพเจตเจพเจ เจฆเฉเจเจ เจตเจฟเจธเจผเจฒเฉเจธเจผเจฃเจพเจคเจฎเจ เจชเฉเจฐเจคเฉเจเฉเจฐเจฟเจคเฉเจเจ FDW เจฆเฉเจเจฐเจพ เจเจธ เจกเฉเจเจพเจฌเฉเจธ เจจเจพเจฒ เจเฉเฉเฉเจเจ เจนเจจเฅค เจเจน เจเจ เจกเฉเจเจพเจฌเฉเจธ เจฒเจ เจเฉฑเจ เจชเฉเฉฑเจเจเจฟเฉฑเจ เจฒเจฟเจเจฃเจพ เจธเฉฐเจญเจต เจฌเจฃเจพเจเจเจฆเจพ เจนเฉ, เจ
เจคเฉ เจเจธ เจจเจพเจฒ เจเฉเจ เจซเจฐเจ เจจเจนเฉเจ เจชเฉเจเจฆเจพ เจเจฟ เจเจน เจเฉ เจนเฉ: PostgreSQL, MySQL, MongoDB เจเจพเจ เจเฉเจ เจนเฉเจฐ (เจซเจพเจเจฒ, API, เจเฉเจเจฐ เจ
เจเจพเจจเจ เจเฉเจ เจขเฉเจเจตเจพเจ เจฐเฉเจชเจฐ เจจเจนเฉเจ เจนเฉ, เจคเจพเจ เจคเฉเจธเฉเจ เจเจชเจฃเจพ เจเฉเจฆ เจฒเจฟเจ เจธเจเจฆเฉ เจนเฉ)เฅค เจเฉเจฐ, เจธเจญ เจเฉเจ เจตเจงเฉเจ เจฒเฉฑเจเจฆเจพ เจนเฉ! เจเฉ เจ
เจธเฉเจ เจเฉเฉฑเจ เจฐเจนเฉ เจนเจพเจ?
เจเฉ เจธเจญ เจเฉเจ เจเฉฐเจจเฉ เจเจฒเจฆเฉ เจ เจคเฉ เจ เจธเจพเจจเฉ เจจเจพเจฒ เจเจคเจฎ เจนเฉ เจเจฟเจ, เจคเจพเจ, เจธเจผเจพเจเจฆ, เจเฉเจ เจฒเฉเจ เจจเจนเฉเจ เจนเฉเจตเฉเจเจพ.
เจเจธ เจฌเจพเจฐเฉ เจธเจชเฉฑเจธเจผเจ เจนเฉเจฃเจพ เจฎเจนเฉฑเจคเจตเจชเฉเจฐเจจ เจนเฉ เจเจฟ เจชเฉเจธเจเจเฉเจฐเฉเจธ เจฐเจฟเจฎเฉเจ เจธเจฐเจตเจฐเจพเจ เจฒเจ เจฌเฉเจจเจคเฉเจเจ เจฆเฉ เจชเฉเจฐเจเจฟเจฐเจฟเจ เจเจฟเจตเฉเจ เจเจฐเจฆเจพ เจนเฉเฅค เจเจน เจคเจฐเจเจชเฉเจฐเจจ เจเจพเจชเจฆเจพ เจนเฉ, เจชเจฐ เจ เจเจธเจฐ เจฒเฉเจ เจเจธ เจตเฉฑเจฒ เจงเจฟเจเจจ เจจเจนเฉเจ เจฆเจฟเฉฐเจฆเฉ: เจชเฉเจธเจเจเฉเจฐเฉเจธ เจฌเฉเจจเจคเฉ เจจเฉเฉฐ เจเจนเจจเจพเจ เจนเจฟเฉฑเจธเจฟเจเจ เจตเจฟเฉฑเจ เจตเฉฐเจกเจฆเจพ เจนเฉ เจเฉ เจฐเจฟเจฎเฉเจ เจธเจฐเจตเจฐเจพเจ 'เจคเฉ เจธเฉเจคเฉฐเจคเจฐ เจคเฉเจฐ 'เจคเฉ เจเจฒเจพเจเจ เจเจพเจเจฆเจพ เจนเฉ, เจเจธ เจกเฉเจเจพ เจจเฉเฉฐ เจเจเฉฑเจคเจฐ เจเจฐเจฆเจพ เจนเฉ, เจ เจคเฉ เจ เฉฐเจคเจฎ เจเจฃเจจเจพเจตเจพเจ เจเฉเจฆ เจเจฐเจฆเจพ เจนเฉ, เจเจธเจฒเจ เจชเฉเฉฑเจเจเจฟเฉฑเจ เจฆเฉ เจ เจฎเจฒ เจฆเฉ เจเจคเฉ เจฌเจนเฉเจค เจเจผเจฟเจเจฆเจพ เจจเจฟเจฐเจญเจฐ เจเจฐเฉเจเฉเฅค เจเจน เจเจฟเจตเฉเจ เจฒเจฟเจเจฟเจ เจเจพเจเจฆเจพ เจนเฉเฅค เจเจน เจตเฉ เจจเฉเจ เจเฉเจคเจพ เจเจพเจฃเจพ เจเจพเจนเฉเจฆเจพ เจนเฉ: เจเจฆเฉเจ เจกเฉเจเจพ เจเฉฑเจ เจฐเจฟเจฎเฉเจ เจธเจฐเจตเจฐ เจคเฉเจ เจเจเจเจฆเจพ เจนเฉ, เจเจธ เจตเจฟเฉฑเจ เจนเฉเจฃ เจเฉฐเจกเฉเจเจธ เจจเจนเฉเจ เจนเฉเฉฐเจฆเฉ เจนเจจ, เจเฉฑเจฅเฉ เจเฉเจ เจตเฉ เจจเจนเฉเจ เจนเฉ เจเฉ เจธเจผเจกเจฟเจเจฒเจฐ เจฆเฉ เจฎเจฆเจฆ เจเจฐเฉเจเจพ, เจเจธเจฒเจ, เจธเจฟเจฐเจซ เจ เจธเฉเจ เจเฉเจฆ เจเจธเจฆเฉ เจฎเจฆเจฆ เจเจฐ เจธเจเจฆเฉ เจนเจพเจ เจ เจคเฉ เจธเจฒเจพเจน เจฆเฉ เจธเจเจฆเฉ เจนเจพเจ. เจ เจคเฉ เจเจน เจฌเจฟเจฒเจเฉเจฒ เจเจนเฉ เจนเฉ เจเจฟเจธ เจฌเจพเจฐเฉ เจฎเฉเจ เจตเจงเฉเจฐเฉ เจตเจฟเจธเจฅเจพเจฐ เจจเจพเจฒ เจเฉฑเจฒ เจเจฐเจจเจพ เจเจพเจนเฉเฉฐเจฆเจพ เจนเจพเจ.
เจเฉฑเจ เจธเจงเจพเจฐเจจ เจชเฉเฉฑเจเจเจฟเฉฑเจ เจ เจคเฉ เจเจธเจฆเฉ เจจเจพเจฒ เจเฉฑเจ เจฏเฉเจเจจเจพ
เจเจน เจฆเจฟเจเจพเจเจฃ เจฒเจ เจเจฟ เจเจฟเจตเฉเจ เจชเฉเจธเจเจเฉเจฐเฉเจธ เจเฉฑเจ เจฐเจฟเจฎเฉเจ เจธเจฐเจตเจฐ 'เจคเฉ 6 เจฎเจฟเจฒเฉเจ เจจ เจฐเฉ เจเฉเจฌเจฒ เจฆเฉ เจชเฉเฉฑเจเจเจฟเฉฑเจ เจเจฐเจฆเจพ เจนเฉ, เจเจ เจเฉฑเจ เจธเจงเจพเจฐเจจ เจฏเฉเจเจจเจพ เจจเฉเฉฐ เจตเฉเจเฉเจเฅค
explain analyze verbose
SELECT count(1)
FROM fdw_schema.table;
Aggregate (cost=418383.23..418383.24 rows=1 width=8) (actual time=3857.198..3857.198 rows=1 loops=1)
Output: count(1)
-> Foreign Scan on fdw_schema."table" (cost=100.00..402376.14 rows=6402838 width=0) (actual time=4.874..3256.511 rows=6406868 loops=1)
Output: "table".id, "table".is_active, "table".meta, "table".created_dt
Remote SQL: SELECT NULL FROM fdw_schema.table
Planning time: 0.986 ms
Execution time: 3857.436 ms
เจตเจฐเจฌเฉเจธ เจธเจเฉเจเจฎเฉเจเจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจจ เจจเจพเจฒ เจธเจพเจจเฉเฉฐ เจเจน เจชเฉเฉฑเจเจเจฟเฉฑเจ เจฆเฉเจเจฃ เจฆเฉ เจเจเจพเจเจผเจค เจฎเจฟเจฒเจฆเฉ เจนเฉ เจเฉ เจฐเจฟเจฎเฉเจ เจธเจฐเจตเจฐ เจจเฉเฉฐ เจญเฉเจเฉ เจเจพเจตเฉเจเฉ เจ เจคเฉ เจเจฟเจธ เจฆเฉ เจจเจคเฉเจเฉ เจ เจธเฉเจ เจ เฉฑเจเฉ เจฆเฉ เจชเฉเจฐเจเจฟเจฐเจฟเจ เจฒเจ เจชเฉเจฐเจพเจชเจค เจเจฐเจพเจเจเฉ (RemoteSQL เจฒเจพเจเจจ)เฅค
เจเจ เจฅเฉเฉเจพ เจนเฉเจฐ เจ เฉฑเจเฉ เจเฉฑเจฒเฉเจ เจ เจคเฉ เจธเจพเจกเฉ เจฌเฉเจจเจคเฉ เจตเจฟเฉฑเจ เจเจ เจซเจฟเจฒเจเจฐ เจธเจผเจพเจฎเจฒ เจเจฐเฉเจ: เจเฉฑเจ เจฒเจ เจฌเฉเจฒเฉเจ เจจ เจเฉเจคเจฐ, เจเจเจจเจพ เจฆเฉเจเจฐเจพ เจเฉฑเจ เจฎเฉเจนเจฐ เจ เฉฐเจคเจฐเจพเจฒ เจตเจฟเฉฑเจ เจ เจคเฉ เจเฉฑเจ เจฆเฉเจเจฐเจพ jsonb.
explain analyze verbose
SELECT count(1)
FROM fdw_schema.table
WHERE is_active is True
AND created_dt BETWEEN CURRENT_DATE - INTERVAL '7 month'
AND CURRENT_DATE - INTERVAL '6 month'
AND meta->>'source' = 'test';
Aggregate (cost=577487.69..577487.70 rows=1 width=8) (actual time=27473.818..25473.819 rows=1 loops=1)
Output: count(1)
-> Foreign Scan on fdw_schema."table" (cost=100.00..577469.21 rows=7390 width=0) (actual time=31.369..25372.466 rows=1360025 loops=1)
Output: "table".id, "table".is_active, "table".meta, "table".created_dt
Filter: (("table".is_active IS TRUE) AND (("table".meta ->> 'source'::text) = 'test'::text) AND ("table".created_dt >= (('now'::cstring)::date - '7 mons'::interval)) AND ("table".created_dt <= ((('now'::cstring)::date)::timestamp with time zone - '6 mons'::interval)))
Rows Removed by Filter: 5046843
Remote SQL: SELECT created_dt, is_active, meta FROM fdw_schema.table
Planning time: 0.665 ms
Execution time: 27474.118 ms
เจเจน เจเจน เจฅเจพเจ เจนเฉ เจเจฟเฉฑเจฅเฉ เจชเฉเจฐเจธเจผเจจ เจฒเจฟเจเจฃ เจตเฉเจฒเฉ เจคเฉเจนเจพเจจเฉเฉฐ เจงเจฟเจเจจ เจฆเฉเจฃ เจฆเฉ เจเจผเจฐเฉเจฐเจค เจนเฉเฉฐเจฆเฉ เจนเฉ. เจซเจฟเจฒเจเจฐเจพเจ เจจเฉเฉฐ เจฐเจฟเจฎเฉเจ เจธเจฐเจตเจฐ 'เจคเฉ เจเฉเจฐเจพเจเจธเจซเจฐ เจจเจนเฉเจ เจเฉเจคเจพ เจเจฟเจ เจธเฉ, เจเจฟเจธเจฆเจพ เจฎเจคเจฒเจฌ เจนเฉ เจเจฟ เจเจธเจจเฉเฉฐ เจเจฒเจพเจเจฃ เจฒเจ, เจชเฉเจธเจเจเฉเจฐเฉเจธ เจธเจฅเจพเจจเจ เจคเฉเจฐ 'เจคเฉ เจซเจฟเจฒเจเจฐ เจเจฐเจจ เจฒเจ (เจซเจฟเจฒเจเจฐ เจเจคเจพเจฐ) เจ เจคเฉ เจเจเฉเจเจฐเจฃ เจเจฐเจจ เจฒเจ เจธเจพเจฐเฉเจเจ 6 เจฎเจฟเจฒเฉเจ เจจ เจเจคเจพเจฐเจพเจ เจจเฉเฉฐ เจฌเจพเจนเจฐ เจเฉฑเจขเจฆเจพ เจนเฉเฅค เจธเจซเจฒเจคเจพ เจฆเฉ เจเฉเฉฐเจเฉ เจเฉฑเจ เจชเฉเฉฑเจเจเจฟเฉฑเจ เจฒเจฟเจเจฃเจพ เจนเฉ เจคเจพเจ เจเฉ เจซเจฟเจฒเจเจฐ เจฐเจฟเจฎเฉเจ เจฎเจธเจผเฉเจจ เจตเจฟเฉฑเจ เจเฉเจฐเจพเจเจธเจซเจฐ เจเฉเจคเฉ เจเจพ เจธเจเจฃ, เจ เจคเฉ เจ เจธเฉเจ เจธเจฟเจฐเจซ เจฒเฉเฉเฉเจเจฆเฉเจเจ เจเจคเจพเจฐเจพเจ เจจเฉเฉฐ เจชเฉเจฐเจพเจชเจค เจเจฐเจฆเฉ เจนเจพเจ เจ เจคเฉ เจเจเฉฑเจ เฉ เจเจฐเจฆเฉ เจนเจพเจเฅค
เจเฉ เจเจฟ เจเฉเจ booleanshit เจนเฉ
เจฌเฉเจฒเฉเจ เจจ เจซเฉเจฒเจกเจเจผ เจจเจพเจฒ เจธเจญ เจเฉเจ เจธเจงเจพเจฐเจจ เจนเฉเฅค เจฎเฉเจฒ เจฌเฉเจจเจคเฉ เจตเจฟเฉฑเจ, เจธเจฎเฉฑเจธเจฟเจ เจเจชเจฐเฉเจเจฐ เจฆเฉ เจเจพเจฐเจจ เจธเฉ is. เจเฉ เจคเฉเจธเฉเจ เจเจธ เจจเจพเจฒ เจฌเจฆเจฒเจฆเฉ เจนเฉ =, เจซเจฟเจฐ เจธเจพเจจเฉเฉฐ เจนเฉเจ เจฆเจฟเฉฑเจคเฉ เจจเจคเฉเจเฉ เจชเฉเจฐเจพเจชเจค เจนเฉเฉฐเจฆเฉ เจนเจจ:
explain analyze verbose
SELECT count(1)
FROM fdw_schema.table
WHERE is_active = True
AND created_dt BETWEEN CURRENT_DATE - INTERVAL '7 month'
AND CURRENT_DATE - INTERVAL '6 month'
AND meta->>'source' = 'test';
Aggregate (cost=508010.14..508010.15 rows=1 width=8) (actual time=19064.314..19064.314 rows=1 loops=1)
Output: count(1)
-> Foreign Scan on fdw_schema."table" (cost=100.00..507988.44 rows=8679 width=0) (actual time=33.035..18951.278 rows=1360025 loops=1)
Output: "table".id, "table".is_active, "table".meta, "table".created_dt
Filter: ((("table".meta ->> 'source'::text) = 'test'::text) AND ("table".created_dt >= (('now'::cstring)::date - '7 mons'::interval)) AND ("table".created_dt <= ((('now'::cstring)::date)::timestamp with time zone - '6 mons'::interval)))
Rows Removed by Filter: 3567989
Remote SQL: SELECT created_dt, meta FROM fdw_schema.table WHERE (is_active)
Planning time: 0.834 ms
Execution time: 19064.534 ms
เจเจฟเจตเฉเจ เจเจฟ เจคเฉเจธเฉเจ เจตเฉเจ เจธเจเจฆเฉ เจนเฉ, เจซเจฟเจฒเจเจฐ เจเฉฑเจ เจฐเจฟเจฎเฉเจ เจธเจฐเจตเจฐ เจคเฉ เจเฉฑเจก เจเจฟเจ เจธเฉ, เจ เจคเฉ เจเฉฑเจฒเจฃ เจฆเจพ เจธเจฎเจพเจ 27 เจคเฉเจ 19 เจธเจเจฟเฉฐเจเจพเจ เจคเฉฑเจ เจเจเจพ เจฆเจฟเฉฑเจคเจพ เจเจฟเจ เจธเฉ.
เจเจน เจงเจฟเจเจจ เจฆเฉเจฃ เจฏเฉเจ เจนเฉ เจเจฟ เจเจชเจฐเฉเจเจฐ is เจเจชเจฐเฉเจเจฐ เจคเฉเจ เจตเฉฑเจเจฐเจพ = เจเจฟเจเจเจเจฟ เจเจน Null เจฎเฉเฉฑเจฒ เจจเจพเจฒ เจเฉฐเจฎ เจเจฐ เจธเจเจฆเจพ เจนเฉเฅค เจเจธ เจฆเจพ เจฎเจคเจฒเจฌ เจนเฉ เจเจฟ เจเจน เจธเฉฑเจ เจจเจนเฉเจ เจนเฉ เจซเจฟเจฒเจเจฐ เจตเจฟเฉฑเจ เจฎเฉเฉฑเจฒ False เจ เจคเฉ Null เจเฉฑเจก เจฆเฉเจตเฉเจเจพ, เจเจฆเจเจฟ ! = เจธเฉฑเจ เจธเจฟเจฐเจซ เจเจฒเจค เจฎเฉเฉฑเจฒ เจเฉฑเจกเจฃเจเฉเฅค เจเจธ เจฒเจ, เจเจฆเฉเจ เจเจชเจฐเฉเจเจฐ เจจเฉเฉฐ เจฌเจฆเจฒเจฃเจพ เจจเจนเฉ เจนเฉ OR เจเจชเจฐเฉเจเจฐ เจจเจพเจฒ เจฆเฉ เจธเจผเจฐเจคเจพเจ เจซเจฟเจฒเจเจฐ เจจเฉเฉฐ เจชเจพเจธ เจเฉเจคเฉเจเจ เจเจพเจฃเฉเจเจ เจเจพเจนเฉเจฆเฉเจเจ เจนเจจ, เจเจฆเจพเจนเจฐเจจ เจฒเจ, WHERE (col!= True) เจเจพเจ (col null เจนเฉ).
เจ เจธเฉเจ เจฌเฉเจฒเฉเจ เจจ เจจเจพเจฒ เจจเจเจฟเฉฑเจ เจฒเจฟเจ เจนเฉ, เจเจ เจ เฉฑเจเฉ เจตเจงเฉเจเฅค เจนเฉเจฃ เจฒเจ, เจเจ เจนเฉเจฐ เจคเจฌเจฆเฉเจฒเฉเจเจ เจฆเฉ เจชเฉเจฐเจญเจพเจต เจจเฉเฉฐ เจธเฉเจคเฉฐเจคเจฐ เจฐเฉเจช เจตเจฟเฉฑเจ เจตเจฟเจเจพเจฐเจจ เจฒเจ เจฌเฉเจฒเฉเจ เจจ เจซเจฟเจฒเจเจฐ เจจเฉเฉฐ เจเจธเจฆเฉ เจ เจธเจฒ เจฐเฉเจช เจตเจฟเฉฑเจ เจตเจพเจชเจธ เจเจฐเฉเจเฅค
เจเจพเจเจฎเจธเจเฉเจเจชเจเจเจผ? hz
เจเจฎ เจคเฉเจฐ 'เจคเฉ, เจคเฉเจนเจพเจจเฉเฉฐ เจ เจเจธเจฐ เจเจธ เจเฉฑเจฒ เจฆเจพ เจชเฉเจฐเจฏเฉเจ เจเจฐเจจเจพ เจชเฉเจเจฆเจพ เจนเฉ เจเจฟ เจฐเจฟเจฎเฉเจ เจธเจฐเจตเจฐ เจจเฉเฉฐ เจธเจผเจพเจฎเจฒ เจเจฐเจจ เจตเจพเจฒเฉ เจฌเฉเจจเจคเฉ เจจเฉเฉฐ เจธเจนเฉ เจขเฉฐเจ เจจเจพเจฒ เจเจฟเจตเฉเจ เจฒเจฟเจเจฃเจพ เจนเฉ, เจ เจคเฉ เจเฉเจตเจฒ เจคเจฆ เจนเฉ เจเจธ เจฌเจพเจฐเฉ เจธเจชเฉฑเจธเจผเจเฉเจเจฐเจจ เจฒเฉฑเจญเฉ เจเจฟ เจ เจเจฟเจนเจพ เจเจฟเจเจ เจนเฉเฉฐเจฆเจพ เจนเฉเฅค เจเจธ เจฌเจพเจฐเฉ เจฌเจนเฉเจค เจเฉฑเจ เจเจพเจฃเจเจพเจฐเฉ เจเฉฐเจเจฐเจจเฉเฉฑเจ 'เจคเฉ เจชเจพเจ เจเจพ เจธเจเจฆเฉ เจนเฉเฅค เจเจธ เจฒเจ, เจชเฉเจฐเจฏเฉเจเจพเจ เจตเจฟเฉฑเจ เจ เจธเฉเจ เจชเจพเจเจ เจเจฟ เจเฉฑเจ เจจเจฟเจธเจผเจเจฟเจค เจฎเจฟเจคเฉ เจซเจฟเจฒเจเจฐ เจเฉฑเจ เจงเจฎเจพเจเฉ เจจเจพเจฒ เจฐเจฟเจฎเฉเจ เจธเจฐเจตเจฐ เจคเฉ เจเฉฑเจกเจฆเจพ เจนเฉ, เจชเจฐ เจเจฆเฉเจ เจ เจธเฉเจ เจฎเจฟเจคเฉ เจจเฉเฉฐ เจเจคเฉเจธเจผเฉเจฒ เจฐเฉเจช เจตเจฟเฉฑเจ เจธเฉเฉฑเจ เจเจฐเจจเจพ เจเจพเจนเฉเฉฐเจฆเฉ เจนเจพเจ, เจเจฆเจพเจนเจฐเจจ เจฒเจ, now() เจเจพเจ CURRENT_DATE, เจ เจเจฟเจนเจพ เจจเจนเฉเจ เจนเฉเฉฐเจฆเจพ เจนเฉเฅค เจธเจพเจกเฉ เจเจฆเจพเจนเจฐเจจ เจตเจฟเฉฑเจ, เจ เจธเฉเจ เจเฉฑเจ เจซเจฟเจฒเจเจฐ เจเฉเฉเจฟเจ เจนเฉ เจคเจพเจ เจเจฟ เจฌเจฃเจพเจเจ_at เจเจพเจฒเจฎ เจตเจฟเฉฑเจ เจชเจฟเจเจฒเฉ 1 เจฎเจนเฉเจจเฉ เจฆเจพ เจกเฉเจเจพ เจธเฉ (BETWEEN CURRENT_DATE - INTERVAL '7 เจฎเจนเฉเจจเจพ' เจ เจคเฉ CURRENT_DATE - INTERVAL '6 เจฎเจนเฉเจจเจพ')เฅค เจ เจธเฉเจ เจเจธ เจฎเจพเจฎเจฒเฉ เจตเจฟเฉฑเจ เจเฉ เจเฉเจคเจพ?
explain analyze verbose
SELECT count(1)
FROM fdw_schema.table
WHERE is_active is True
AND created_dt >= (SELECT CURRENT_DATE::timestamptz - INTERVAL '7 month')
AND created_dt <(SELECT CURRENT_DATE::timestamptz - INTERVAL '6 month')
AND meta->>'source' = 'test';
Aggregate (cost=306875.17..306875.18 rows=1 width=8) (actual time=4789.114..4789.115 rows=1 loops=1)
Output: count(1)
InitPlan 1 (returns $0)
-> Result (cost=0.00..0.02 rows=1 width=8) (actual time=0.007..0.008 rows=1 loops=1)
Output: ((('now'::cstring)::date)::timestamp with time zone - '7 mons'::interval)
InitPlan 2 (returns $1)
-> Result (cost=0.00..0.02 rows=1 width=8) (actual time=0.002..0.002 rows=1 loops=1)
Output: ((('now'::cstring)::date)::timestamp with time zone - '6 mons'::interval)
-> Foreign Scan on fdw_schema."table" (cost=100.02..306874.86 rows=105 width=0) (actual time=23.475..4681.419 rows=1360025 loops=1)
Output: "table".id, "table".is_active, "table".meta, "table".created_dt
Filter: (("table".is_active IS TRUE) AND (("table".meta ->> 'source'::text) = 'test'::text))
Rows Removed by Filter: 76934
Remote SQL: SELECT is_active, meta FROM fdw_schema.table WHERE ((created_dt >= $1::timestamp with time zone)) AND ((created_dt < $2::timestamp with time zone))
Planning time: 0.703 ms
Execution time: 4789.379 ms
เจ เจธเฉเจ เจฏเฉเจเจจเจพเจเจพเจฐ เจจเฉเฉฐ เจธเจฌเจเจตเฉเจฐเฉ เจตเจฟเฉฑเจ เจคเจพเจฐเฉเจ เจฆเฉ เจชเจนเจฟเจฒเจพเจ เจคเฉเจ เจเจฃเจจเจพ เจเจฐเจจ เจ เจคเฉ เจซเจฟเจฒเจเจฐ เจจเฉเฉฐ เจคเจฟเจเจฐ เจตเฉเจฐเฉเจเจฌเจฒ เจชเจพเจธ เจเจฐเจจ เจฒเจ เจเจฟเจนเจพ เจนเฉเฅค เจ เจคเฉ เจเจธ เจธเฉฐเจเฉเจค เจจเฉ เจธเจพเจจเฉเฉฐ เจเฉฑเจ เจธเจผเจพเจจเจฆเจพเจฐ เจจเจคเฉเจเจพ เจฆเจฟเฉฑเจคเจพ, เจฌเฉเจจเจคเฉ เจฒเจเจญเจ 6 เจเฉเจฃเจพ เจคเฉเจเจผ เจนเฉ เจเจ!
เจฆเฉเจฌเจพเจฐเจพ, เจเฉฑเจฅเฉ เจงเจฟเจเจจ เจฐเฉฑเจเจฃเจพ เจเจผเจฐเฉเจฐเฉ เจนเฉ: เจธเจฌเจเจตเฉเจฐเฉ เจตเจฟเฉฑเจ เจกเฉเจเจพ เจฆเฉ เจเจฟเจธเจฎ เจเจธ เจซเฉเจฒเจก เจฆเฉ เจธเจฎเจพเจจ เจนเฉเจฃเฉ เจเจพเจนเฉเจฆเฉ เจนเฉ เจเจฟเจธ 'เจคเฉ เจ เจธเฉเจ เจซเจฟเจฒเจเจฐ เจเจฐ เจฐเจนเฉ เจนเจพเจ, เจจเจนเฉเจ เจคเจพเจ เจฏเฉเจเจจเจพเจเจพเจฐ เจซเฉเจธเจฒเจพ เจเจฐเฉเจเจพ เจเจฟ เจเจฟเจเจเจเจฟ เจเจฟเจธเจฎเจพเจ เจตเฉฑเจเจฐเฉเจเจ เจนเจจ, เจเจธ เจฒเจ เจชเจนเจฟเจฒเจพเจ เจธเจญ เจจเฉเฉฐ เจชเฉเจฐเจพเจชเจค เจเจฐเจจเจพ เจเจผเจฐเฉเจฐเฉ เจนเฉเฅค เจกเจพเจเจพ เจ เจคเฉ เจเจธ เจจเฉเฉฐ เจธเจฅเจพเจจเจ เจคเฉเจฐ 'เจคเฉ เจซเจฟเจฒเจเจฐ เจเจฐเฉเฅค
เจเจ เจฎเจฟเจคเฉ เจซเจฟเจฒเจเจฐ เจจเฉเฉฐ เจเจธเจฆเฉ เจฎเฉเจฒ เจฎเฉเฉฑเจฒ เจคเฉ เจตเจพเจชเจธ เจเจฐเฉเจเฅค
เจซเจฐเฉเจกเฉ เจฌเจจเจพเจฎ. เจเจธเจจเจฌ
เจเจฎ เจคเฉเจฐ 'เจคเฉ, เจฌเฉเจฒเฉเจ เจจ เจเฉเจคเจฐเจพเจ เจ เจคเฉ เจคเจพเจฐเฉเจเจพเจ เจจเฉ เจชเจนเจฟเจฒเจพเจ เจนเฉ เจธเจพเจกเฉ เจชเฉเฉฑเจเจเจฟเฉฑเจ เจจเฉเฉฐ เจเจพเจซเจผเฉ เจคเฉเจเจผ เจเจฐ เจฆเจฟเฉฑเจคเจพ เจนเฉ, เจชเจฐ เจเฉฑเจ เจนเฉเจฐ เจกเจพเจเจพ เจเจฟเจธเจฎ เจฌเจพเจเฉ เจธเฉเฅค เจเจธ เจฆเฉเจเจฐเจพ เจซเจฟเจฒเจเจฐ เจเจฐเจจ เจฆเฉ เจฒเฉเจพเจ, เจเจฎเจพเจจเจฆเจพเจฐเฉ เจจเจพเจฒ, เจ เจเฉ เจตเฉ เจเจคเจฎ เจจเจนเฉเจ เจนเฉเจ เจนเฉ, เจนเจพเจฒเจพเจเจเจฟ เจเฉฑเจฅเฉ เจตเฉ เจธเจซเจฒเจคเจพ เจนเฉ. เจเจธ เจฒเจ, เจเจธ เจคเจฐเฉเจนเจพเจ เจ เจธเฉเจ เจซเจฟเจฒเจเจฐ เจจเฉเฉฐ เจชเจพเจธ เจเจฐเจจ เจตเจฟเฉฑเจ เจเจพเจฎเจฏเจพเจฌ เจนเฉเจ jsonb เจฐเจฟเจฎเฉเจ เจธเจฐเจตเจฐ เจฒเจ เจเฉเจคเจฐ.
explain analyze verbose
SELECT count(1)
FROM fdw_schema.table
WHERE is_active is True
AND created_dt BETWEEN CURRENT_DATE - INTERVAL '7 month'
AND CURRENT_DATE - INTERVAL '6 month'
AND meta @> '{"source":"test"}'::jsonb;
Aggregate (cost=245463.60..245463.61 rows=1 width=8) (actual time=6727.589..6727.590 rows=1 loops=1)
Output: count(1)
-> Foreign Scan on fdw_schema."table" (cost=1100.00..245459.90 rows=1478 width=0) (actual time=16.213..6634.794 rows=1360025 loops=1)
Output: "table".id, "table".is_active, "table".meta, "table".created_dt
Filter: (("table".is_active IS TRUE) AND ("table".created_dt >= (('now'::cstring)::date - '7 mons'::interval)) AND ("table".created_dt <= ((('now'::cstring)::date)::timestamp with time zone - '6 mons'::interval)))
Rows Removed by Filter: 619961
Remote SQL: SELECT created_dt, is_active FROM fdw_schema.table WHERE ((meta @> '{"source": "test"}'::jsonb))
Planning time: 0.747 ms
Execution time: 6727.815 ms
เจเจชเจฐเฉเจเจฐเจพเจ เจจเฉเฉฐ เจซเจฟเจฒเจเจฐ เจเจฐเจจ เจฆเฉ เจฌเจเจพเจ, เจคเฉเจนเจพเจจเฉเฉฐ เจเฉฑเจ เจเจชเจฐเฉเจเจฐ เจฆเฉ เจฎเฉเจเฉเจฆเจเฉ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจจเฉ เจเจพเจนเฉเจฆเฉ เจนเฉ jsonb เจเฉฑเจ เจตเฉฑเจเจฐเฉ เจตเจฟเฉฑเจ. เจ เจธเจฒเฉ 7 เจฆเฉ เจฌเจเจพเจ 29 เจธเจเจฟเฉฐเจเฅค เจนเฉเจฃ เจคเฉฑเจ เจซเจฟเจฒเจเจฐเจพเจ เจจเฉเฉฐ เจเจธ เจฐเจพเจนเฉเจ เจชเฉเจฐเจธเจพเจฐเจฟเจค เจเจฐเจจ เจฒเจ เจเจน เจเฉฑเจเฉ เจเฉฑเจ เจธเจซเจฒ เจตเจฟเจเจฒเจช เจนเฉ jsonb เจเฉฑเจ เจฐเจฟเจฎเฉเจ เจธเจฐเจตเจฐ เจฒเจ, เจชเจฐ เจเฉฑเจฅเฉ เจเฉฑเจ เจธเฉเจฎเจพ เจจเฉเฉฐ เจงเจฟเจเจจ เจตเจฟเฉฑเจ เจฐเฉฑเจเจฃเจพ เจฎเจนเฉฑเจคเจตเจชเฉเจฐเจจ เจนเฉ: เจ เจธเฉเจ เจกเฉเจเจพเจฌเฉเจธ เจฆเฉ เจธเฉฐเจธเจเจฐเจฃ 9.6 เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐ เจฐเจนเฉ เจนเจพเจ, เจชเจฐ เจ เจชเฉเจฐเฉเจฒ เจฆเฉ เจ เฉฐเจค เจคเฉฑเจ เจ เจธเฉเจ เจเจเจฐเฉ เจเฉเจธเจเจพเจ เจจเฉเฉฐ เจชเฉเจฐเจพ เจเจฐเจจ เจ เจคเฉ เจธเฉฐเจธเจเจฐเจฃ 12 เจตเจฟเฉฑเจ เจเจพเจฃ เจฆเฉ เจฏเฉเจเจจเจพ เจฌเจฃเจพ เจฐเจนเฉ เจนเจพเจเฅค เจเฉฑเจ เจตเจพเจฐ เจเจฆเฉเจ เจ เจธเฉเจ เจ เฉฑเจชเจกเฉเจ เจเจฐเจฆเฉ เจนเจพเจ, เจคเจพเจ เจ เจธเฉเจ เจเจธ เจฌเจพเจฐเฉ เจฒเจฟเจเจพเจเจเฉ เจเจฟ เจเจน เจเจฟเจตเฉเจ เจชเฉเจฐเจญเจพเจตเจฟเจค เจนเฉเจเจ, เจเจฟเจเจเจเจฟ เจเฉฑเจฅเฉ เจฌเจนเฉเจค เจธเจพเจฐเฉเจเจ เจคเจฌเจฆเฉเจฒเฉเจเจ เจนเจจ เจเจฟเจจเฉเจนเจพเจ เจฒเจ เจฌเจนเฉเจค เจธเจพเจฐเฉเจเจ เจเจฎเฉเจฆเจพเจ เจนเจจ: json_path, เจจเจตเจพเจ CTE เจตเจฟเจตเจนเจพเจฐ, เจชเฉเจธเจผ เจกเจพเจเจจ (เจตเจฐเจเจจ 10 เจคเฉเจ เจฎเฉเจเฉเจฆเจพ)เฅค เจฎเฉเจ เจธเฉฑเจเจฎเฉเฉฑเจ เจเจฒเจฆเฉ เจนเฉ เจเจธเจจเฉเฉฐ เจ เจเจผเจฎเจพเจเจฃเจพ เจเจพเจนเฉเฉฐเจฆเจพ เจนเจพเจ.
เจเจธเจจเฉเฉฐ เจเจคเจฎ เจเจฐเฉ
เจ เจธเฉเจ เจเจพเจเจ เจเฉเจคเฉ เจเจฟ เจนเจฐเฉเจ เจคเจฌเจฆเฉเจฒเฉ เจจเฉ เจตเจฟเจ เจเจคเฉเจเจค เจคเฉเจฐ 'เจคเฉ เจฌเฉเจจเจคเฉ เจฆเฉ เจเจคเฉ เจจเฉเฉฐ เจเจฟเจตเฉเจ เจชเฉเจฐเจญเจพเจตเจฟเจค เจเฉเจคเจพเฅค เจเจ เจนเฉเจฃ เจฆเฉเจเจฆเฉ เจนเจพเจ เจเจฟ เจเฉ เจนเฉเฉฐเจฆเจพ เจนเฉ เจเจฆเฉเจ เจธเจพเจฐเฉ เจคเจฟเฉฐเจจ เจซเจฟเจฒเจเจฐ เจธเจนเฉ เจขเฉฐเจ เจจเจพเจฒ เจฒเจฟเจเฉ เจเจพเจเจฆเฉ เจนเจจเฅค
explain analyze verbose
SELECT count(1)
FROM fdw_schema.table
WHERE is_active = True
AND created_dt >= (SELECT CURRENT_DATE::timestamptz - INTERVAL '7 month')
AND created_dt <(SELECT CURRENT_DATE::timestamptz - INTERVAL '6 month')
AND meta @> '{"source":"test"}'::jsonb;
Aggregate (cost=322041.51..322041.52 rows=1 width=8) (actual time=2278.867..2278.867 rows=1 loops=1)
Output: count(1)
InitPlan 1 (returns $0)
-> Result (cost=0.00..0.02 rows=1 width=8) (actual time=0.010..0.010 rows=1 loops=1)
Output: ((('now'::cstring)::date)::timestamp with time zone - '7 mons'::interval)
InitPlan 2 (returns $1)
-> Result (cost=0.00..0.02 rows=1 width=8) (actual time=0.003..0.003 rows=1 loops=1)
Output: ((('now'::cstring)::date)::timestamp with time zone - '6 mons'::interval)
-> Foreign Scan on fdw_schema."table" (cost=100.02..322041.41 rows=25 width=0) (actual time=8.597..2153.809 rows=1360025 loops=1)
Output: "table".id, "table".is_active, "table".meta, "table".created_dt
Remote SQL: SELECT NULL FROM fdw_schema.table WHERE (is_active) AND ((created_dt >= $1::timestamp with time zone)) AND ((created_dt < $2::timestamp with time zone)) AND ((meta @> '{"source": "test"}'::jsonb))
Planning time: 0.820 ms
Execution time: 2279.087 ms
เจนเจพเจ, เจฌเฉเจจเจคเฉ เจตเจงเฉเจฐเฉ เจเฉเฉฐเจเจฒเจฆเจพเจฐ เจฒเฉฑเจเจฆเฉ เจนเฉ, เจเจน เจเฉฑเจ เจเจผเจฌเจฐเจฆเจธเจคเฉ เจซเฉเจธ เจนเฉ, เจชเจฐ เจเจเจเจผเฉเจเจฟเจเจธเจผเจจ เจฆเฉ เจเจคเฉ 2 เจธเจเจฟเฉฐเจ เจนเฉ, เจเฉ เจเจฟ 10 เจเฉเจฃเจพ เจคเฉเจ เจตเฉฑเจง เจคเฉเจเจผ เจนเฉ! เจ เจคเฉ เจ เจธเฉเจ เจเฉฑเจ เจฎเฉเจเจพเจฌเจฒเจคเจจ เจเฉเจเฉ เจกเฉเจเจพ เจธเฉเฉฑเจ เจฆเฉ เจตเจฟเจฐเฉเฉฑเจง เจเฉฑเจ เจธเจงเจพเจฐเจจ เจชเฉเฉฑเจเจเจฟเฉฑเจ เจฌเจพเจฐเฉ เจเฉฑเจฒ เจเจฐ เจฐเจนเฉ เจนเจพเจ. เจ เจธเจฒ เจฌเฉเจจเจคเฉเจเจ 'เจคเฉ, เจธเจพเจจเฉเฉฐ เจเจ เจธเฉ เจเฉเจฃเจพ เจคเฉฑเจ เจฆเจพ เจตเจพเจงเจพ เจฎเจฟเจฒเจฟเจ เจนเฉเฅค
เจธเฉฐเจเฉเจช เจเจฐเจจ เจฒเจ: เจเฉเจเจฐ เจคเฉเจธเฉเจ FDW เจฆเฉ เจจเจพเจฒ PostgreSQL เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจฆเฉ เจนเฉ, เจคเจพเจ เจนเจฎเฉเจธเจผเจพเจ เจเจพเจเจ เจเจฐเฉ เจเจฟ เจธเจพเจฐเฉ เจซเจฟเจฒเจเจฐ เจฐเจฟเจฎเฉเจ เจธเจฐเจตเจฐ 'เจคเฉ เจญเฉเจเฉ เจเจ เจนเจจ, เจ เจคเฉ เจคเฉเจธเฉเจ เจเฉเจธเจผ เจนเฉเจตเฉเจเฉ... เจเฉฑเจเฉ-เจเฉฑเจ เจเจฆเฉเจ เจคเฉฑเจ เจเจฆเฉเจ เจคเฉฑเจ เจคเฉเจธเฉเจ เจตเฉฑเจ-เจตเฉฑเจ เจธเจฐเจตเจฐเจพเจ เจคเฉเจ เจเฉเจฌเจฒเจพเจ เจตเจฟเจเจเจพเจฐ เจธเจผเจพเจฎเจฒ เจจเจนเฉเจ เจนเฉ เจเจพเจเจฆเฉเฅค เจชเจฐ เจเจน เจเฉฑเจ เจนเฉเจฐ เจฒเฉเจ เจฒเจ เจเฉฑเจ เจเจนเจพเจฃเฉ เจนเฉ.
เจคเฉเจนเจพเจกเฉ เจงเจฟเจเจจ เจฒเจ เจงเฉฐเจจเจตเจพเจฆ! เจฎเฉเจ เจเจฟเฉฑเจชเจฃเฉเจเจ เจตเจฟเฉฑเจ เจคเฉเจนเจพเจกเฉ เจ
เจจเฉเจญเจตเจพเจ เจฌเจพเจฐเฉ เจธเจตเจพเจฒ, เจเจฟเฉฑเจชเจฃเฉเจเจ เจ
เจคเฉ เจเจนเจพเจฃเฉเจเจ เจธเฉเจฃเจจเจพ เจชเจธเฉฐเจฆ เจเจฐเจพเจเจเจพเฅค
เจธเจฐเฉเจค: www.habr.com