āĻŽāĻžāĻ‡āĻ•ā§āĻ°ā§‹āĻ¸āĻžāĻ°ā§āĻ­āĻŋāĻ¸ āĻ†āĻ°ā§āĻ•āĻŋāĻŸā§‡āĻ•āĻšāĻžāĻ°ā§‡ āĻ…āĻĒāĻžāĻ°ā§‡āĻļāĻ¨āĻžāĻ˛ āĻŦāĻŋāĻļā§āĻ˛ā§‡āĻˇāĻŖ: āĻĒā§‹āĻ¸ā§āĻŸāĻ—ā§āĻ°ā§‡āĻ¸ āĻāĻĢāĻĄāĻŋāĻĄāĻžāĻŦā§āĻ˛ā§ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻāĻŦāĻ‚ āĻĒā§āĻ°āĻŽā§āĻĒāĻŸ

āĻŽāĻžāĻ‡āĻ•ā§āĻ°ā§‹āĻ¸āĻžāĻ°ā§āĻ­āĻŋāĻ¸ āĻ†āĻ°ā§āĻ•āĻŋāĻŸā§‡āĻ•āĻšāĻžāĻ°, āĻāĻ‡ āĻŦāĻŋāĻļā§āĻŦā§‡āĻ° āĻ¸āĻŦāĻ•āĻŋāĻ›ā§āĻ° āĻŽāĻ¤ā§‹, āĻāĻ° āĻ¸ā§āĻŦāĻŋāĻ§āĻž āĻāĻŦāĻ‚ āĻ…āĻ¸ā§āĻŦāĻŋāĻ§āĻž āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻ•āĻŋāĻ›ā§ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻāĻŸāĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻšāĻœ āĻšāĻ¯āĻŧā§‡ āĻ¯āĻžāĻ¯āĻŧ, āĻ…āĻ¨ā§āĻ¯āĻ—ā§āĻ˛āĻŋ āĻ†āĻ°āĻ“ āĻ•āĻ āĻŋāĻ¨āĨ¤ āĻāĻŦāĻ‚ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ā§‡āĻ° āĻ—āĻ¤āĻŋ āĻāĻŦāĻ‚ āĻ†āĻ°āĻ“ āĻ­āĻžāĻ˛ āĻŽāĻžāĻĒāĻ¯ā§‹āĻ—ā§āĻ¯āĻ¤āĻžāĻ° āĻœāĻ¨ā§āĻ¯, āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ¤ā§āĻ¯āĻžāĻ— āĻ¸ā§āĻŦā§€āĻ•āĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤ āĻ¤āĻžāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻāĻ•āĻŸāĻŋ āĻšāĻ˛ āĻŦāĻŋāĻļā§āĻ˛ā§‡āĻˇāĻŖā§‡āĻ° āĻ•ā§āĻ°āĻŽāĻŦāĻ°ā§āĻ§āĻŽāĻžāĻ¨ āĻœāĻŸāĻŋāĻ˛āĻ¤āĻžāĨ¤ āĻ¯āĻĻāĻŋ āĻāĻ•āĻŸāĻŋ āĻŽāĻ¨ā§‹āĻ˛āĻŋāĻĨā§‡ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ…āĻĒāĻžāĻ°ā§‡āĻļāĻ¨āĻžāĻ˛ āĻ…ā§āĻ¯āĻžāĻ¨āĻžāĻ˛āĻŋāĻŸāĻŋāĻ•ā§āĻ¸āĻ•ā§‡ āĻāĻ¸āĻ•āĻŋāĻ‰āĻāĻ˛ āĻ•ā§‹āĻ¯āĻŧā§‡āĻ°āĻŋāĻ¤ā§‡ āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻļā§āĻ˛ā§‡āĻˇāĻŖāĻžāĻ¤ā§āĻŽāĻ• āĻĒā§āĻ°āĻ¤āĻŋāĻ˛āĻŋāĻĒāĻŋāĻ¤ā§‡ āĻšā§āĻ°āĻžāĻ¸ āĻ•āĻ°āĻž āĻ¯āĻžāĻ¯āĻŧ, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻāĻ•āĻŸāĻŋ āĻŽāĻžāĻ˛ā§āĻŸāĻŋāĻ¸āĻžāĻ°ā§āĻ­āĻŋāĻ¸ āĻ†āĻ°ā§āĻ•āĻŋāĻŸā§‡āĻ•āĻšāĻžāĻ°ā§‡ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻĒāĻ°āĻŋāĻˇā§‡āĻŦāĻžāĻ° āĻ¨āĻŋāĻœāĻ¸ā§āĻŦ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ āĻĨāĻžāĻ•ā§‡ āĻāĻŦāĻ‚ āĻŽāĻ¨ā§‡ āĻšāĻ¯āĻŧ āĻ¯ā§‡ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻļā§āĻ¨ āĻ•āĻ°āĻž āĻ¯āĻžāĻŦā§‡ āĻ¨āĻž (āĻŦāĻž āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡?)āĨ¤ āĻ†āĻŽāĻ°āĻž āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ•ā§‹āĻŽā§āĻĒāĻžāĻ¨āĻŋāĻ° āĻ…āĻĒāĻžāĻ°ā§‡āĻļāĻ¨āĻžāĻ˛ āĻ…ā§āĻ¯āĻžāĻ¨āĻžāĻ˛āĻŋāĻŸāĻŋāĻ•ā§āĻ¸ā§‡āĻ° āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻ•āĻ°ā§‡āĻ›āĻŋ āĻāĻŦāĻ‚ āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻ†āĻŽāĻ°āĻž āĻāĻ‡ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻŦāĻžāĻāĻšāĻ¤ā§‡ āĻļāĻŋāĻ–ā§‡āĻ›āĻŋ āĻ¤āĻž āĻ¨āĻŋāĻ¯āĻŧā§‡ āĻ¯āĻžāĻ°āĻž āĻ†āĻ—ā§āĻ°āĻšā§€ āĻ¤āĻžāĻĻā§‡āĻ° āĻœāĻ¨ā§āĻ¯ - āĻ¸ā§āĻŦāĻžāĻ—āĻ¤āĻŽāĨ¤

āĻŽāĻžāĻ‡āĻ•ā§āĻ°ā§‹āĻ¸āĻžāĻ°ā§āĻ­āĻŋāĻ¸ āĻ†āĻ°ā§āĻ•āĻŋāĻŸā§‡āĻ•āĻšāĻžāĻ°ā§‡ āĻ…āĻĒāĻžāĻ°ā§‡āĻļāĻ¨āĻžāĻ˛ āĻŦāĻŋāĻļā§āĻ˛ā§‡āĻˇāĻŖ: āĻĒā§‹āĻ¸ā§āĻŸāĻ—ā§āĻ°ā§‡āĻ¸ āĻāĻĢāĻĄāĻŋāĻĄāĻžāĻŦā§āĻ˛ā§ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻāĻŦāĻ‚ āĻĒā§āĻ°āĻŽā§āĻĒāĻŸ
āĻ†āĻŽāĻžāĻ° āĻ¨āĻžāĻŽ āĻĒāĻžāĻ­ā§‡āĻ˛ āĻ¸āĻŋāĻ­āĻžāĻļ, DomClick-āĻ āĻ†āĻŽāĻŋ āĻāĻŽāĻ¨ āĻāĻ•āĻŸāĻŋ āĻĻāĻ˛ā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻŋ āĻ¯āĻž āĻŦāĻŋāĻļā§āĻ˛ā§‡āĻˇāĻŖāĻŽā§‚āĻ˛āĻ• āĻĄā§‡āĻŸāĻž āĻ—ā§āĻĻāĻžāĻŽ āĻ°āĻ•ā§āĻˇāĻŖāĻžāĻŦā§‡āĻ•ā§āĻˇāĻŖā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĻāĻžāĻ¯āĻŧā§€ā§ˇ āĻĒā§āĻ°āĻšāĻ˛āĻŋāĻ¤āĻ­āĻžāĻŦā§‡, āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ•āĻ˛āĻžāĻĒāĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻĄā§‡āĻŸāĻž āĻ‡āĻžā§āĻœāĻŋāĻ¨āĻŋāĻ¯āĻŧāĻžāĻ°āĻŋāĻ‚ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻļā§āĻ°ā§‡āĻŖā§€āĻŦāĻĻā§āĻ§ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡, āĻ¤āĻŦā§‡ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦā§‡, āĻ•āĻžāĻœā§‡āĻ° āĻĒāĻ°āĻŋāĻ¸āĻ° āĻ…āĻ¨ā§‡āĻ• āĻŦāĻŋāĻ¸ā§āĻ¤ā§ƒāĻ¤āĨ¤ āĻĄā§‡āĻŸāĻž āĻ‡āĻžā§āĻœāĻŋāĻ¨āĻŋāĻ¯āĻŧāĻžāĻ°āĻŋāĻ‚āĻ¯āĻŧā§‡āĻ° āĻœāĻ¨ā§āĻ¯ ETL/ELT āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡, āĻĄā§‡āĻŸāĻž āĻŦāĻŋāĻļā§āĻ˛ā§‡āĻˇāĻŖ āĻāĻŦāĻ‚ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¨āĻŋāĻœāĻ¸ā§āĻŦ āĻ¸āĻ°āĻžā§āĻœāĻžāĻŽāĻ—ā§āĻ˛āĻŋāĻ° āĻŦāĻŋāĻ•āĻžāĻļā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻ°āĻžā§āĻœāĻžāĻŽāĻ—ā§āĻ˛āĻŋāĻ° āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻāĻŦāĻ‚ āĻ…āĻ­āĻŋāĻ¯ā§‹āĻœāĻ¨āĨ¤ āĻŦāĻŋāĻļā§‡āĻˇ āĻ•āĻ°ā§‡, āĻ…āĻĒāĻžāĻ°ā§‡āĻļāĻ¨āĻžāĻ˛ āĻ°āĻŋāĻĒā§‹āĻ°ā§āĻŸāĻŋāĻ‚āĻ¯āĻŧā§‡āĻ° āĻœāĻ¨ā§āĻ¯, āĻ†āĻŽāĻ°āĻž "āĻ­āĻžāĻ¨" āĻ•āĻ°āĻžāĻ° āĻ¸āĻŋāĻĻā§āĻ§āĻžāĻ¨ā§āĻ¤ āĻ¨āĻŋāĻ¯āĻŧā§‡āĻ›āĻŋ āĻ¯ā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻŽāĻ¨ā§‹āĻ˛āĻŋāĻĨ āĻ†āĻ›ā§‡ āĻāĻŦāĻ‚ āĻŦāĻŋāĻļā§āĻ˛ā§‡āĻˇāĻ•āĻĻā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ āĻĻāĻŋāĻ¤ā§‡ āĻšāĻŦā§‡ āĻ¯āĻžāĻ¤ā§‡ āĻ¤āĻžāĻĻā§‡āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĄā§‡āĻŸāĻž āĻĨāĻžāĻ•āĻŦā§‡āĨ¤

āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ­āĻžāĻŦā§‡, āĻ†āĻŽāĻ°āĻž āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āĻŦāĻŋāĻŦā§‡āĻšāĻ¨āĻž āĻ•āĻ°ā§‡āĻ›āĻŋāĨ¤ āĻāĻ•āĻŸāĻŋ āĻĒā§‚āĻ°ā§āĻŖāĻžāĻ™ā§āĻ— āĻ­āĻžāĻŖā§āĻĄāĻžāĻ° āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻ¸āĻŽā§āĻ­āĻŦ āĻ›āĻŋāĻ˛ - āĻ†āĻŽāĻ°āĻž āĻāĻŽāĻ¨āĻ•āĻŋ āĻšā§‡āĻˇā§āĻŸāĻžāĻ“ āĻ•āĻ°ā§‡āĻ›āĻŋ, āĻ•āĻŋāĻ¨ā§āĻ¤ā§, āĻ¸āĻ¤ā§āĻ¯āĻŋ āĻ•āĻĨāĻž āĻŦāĻ˛āĻ¤ā§‡, āĻ†āĻŽāĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻ¸āĻ‚āĻ—ā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻžāĻ° āĻāĻŦāĻ‚ āĻāĻ¤ā§‡ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻžāĻ° āĻŦāĻ°āĻ‚ āĻ§ā§€āĻ° āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¯ā§āĻ•ā§āĻ¤āĻŋāĻ¤ā§‡ āĻŽā§‹āĻŸāĻžāĻŽā§āĻŸāĻŋ āĻ˜āĻ¨ āĻ˜āĻ¨ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻāĻ•āĻ¤ā§āĻ°āĻŋāĻ¤ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋāĻ¨āĻŋ (āĻ¯āĻĻāĻŋ āĻ•ā§‡āĻ‰ āĻ¸āĻĢāĻ˛ āĻšāĻ¯āĻŧ , āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ā§‡ āĻ˛āĻŋāĻ–ā§āĻ¨ āĻ•āĻŋāĻ­āĻžāĻŦā§‡)āĨ¤ āĻŦāĻŋāĻļā§āĻ˛ā§‡āĻˇāĻ•āĻĻā§‡āĻ° āĻŦāĻ˛āĻž āĻ¸āĻŽā§āĻ­āĻŦ āĻ›āĻŋāĻ˛: "āĻŦāĻ¨ā§āĻ§ā§āĻ°āĻž, āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻļāĻŋāĻ–ā§āĻ¨ āĻāĻŦāĻ‚ āĻŦāĻŋāĻļā§āĻ˛ā§‡āĻˇāĻŖāĻžāĻ¤ā§āĻŽāĻ• āĻĒā§āĻ°āĻ¤āĻŋāĻ˛āĻŋāĻĒāĻŋāĻ¤ā§‡ āĻ¯āĻžāĻ¨," āĻ¤āĻŦā§‡ āĻāĻŸāĻŋ āĻ¨āĻŋāĻ¯āĻŧā§‹āĻ—ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧāĻ¤āĻž, āĻāĻŦāĻ‚ āĻāĻŸāĻŋ āĻ¸āĻŽā§āĻ­āĻŦ āĻšāĻ˛ā§‡ āĻāĻŸāĻŋ āĻāĻĄāĻŧāĻžāĻ¨ā§‹ āĻ‰āĻšāĻŋāĻ¤ āĻŦāĻ˛ā§‡ āĻŽāĻ¨ā§‡ āĻšāĻšā§āĻ›ā§‡āĨ¤ āĻ†āĻŽāĻ°āĻž FDW (āĻĢāĻ°ā§‡āĻ¨ āĻĄāĻžāĻŸāĻž āĻ°ā§āĻ¯āĻžāĻĒāĻžāĻ°) āĻĒā§āĻ°āĻ¯ā§āĻ•ā§āĻ¤āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°āĻžāĻ° āĻ¸āĻŋāĻĻā§āĻ§āĻžāĻ¨ā§āĻ¤ āĻ¨āĻŋāĻ¯āĻŧā§‡āĻ›āĻŋ: āĻŽā§‚āĻ˛āĻ¤, āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄ āĻĄāĻŋāĻŦā§āĻ˛āĻŋāĻ™ā§āĻ•, āĻ¯āĻž āĻāĻ¸āĻ•āĻŋāĻ‰āĻāĻ˛ āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄā§‡ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻāĻ° āĻ¨āĻŋāĻœāĻ¸ā§āĻŦ āĻ…āĻ¨ā§‡āĻ• āĻŦā§‡āĻļāĻŋ āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻœāĻ¨āĻ• āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻāĻŸāĻŋāĻ° āĻ‰āĻĒāĻ° āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋ āĻ•āĻ°ā§‡, āĻ†āĻŽāĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§‡āĻ›āĻŋ, āĻ¯āĻž āĻ…āĻŦāĻļā§‡āĻˇā§‡ āĻ§āĻ°āĻž āĻĒāĻĄāĻŧā§‡ āĻāĻŦāĻ‚ āĻ†āĻŽāĻ°āĻž āĻāĻŸāĻŋāĻ¤ā§‡ āĻ¸ā§āĻĨāĻŋāĻ° āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĨ¤ āĻāĻ° āĻŦāĻŋāĻļāĻĻ āĻŦāĻŋāĻŦāĻ°āĻŖ āĻāĻ•āĻŸāĻŋ āĻĒā§ƒāĻĨāĻ• āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§ā§‡āĻ° āĻŦāĻŋāĻˇāĻ¯āĻŧ, āĻāĻŦāĻ‚ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻāĻ•āĻžāĻ§āĻŋāĻ•, āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻ†āĻŽāĻŋ āĻ…āĻ¨ā§‡āĻ• āĻ•āĻŋāĻ›ā§ āĻŦāĻ˛āĻ¤ā§‡ āĻšāĻžāĻ‡: āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ āĻ¸ā§āĻ•āĻŋāĻŽāĻž āĻ¸āĻŋāĻ™ā§āĻ•ā§āĻ°ā§‹āĻ¨āĻžāĻ‡āĻœ āĻ•āĻ°āĻž āĻĨā§‡āĻ•ā§‡ āĻļā§āĻ°ā§ āĻ•āĻ°ā§‡ āĻŦā§āĻ¯āĻ•ā§āĻ¤āĻŋāĻ—āĻ¤ āĻĄā§‡āĻŸāĻž āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖ āĻāĻŦāĻ‚ āĻĄāĻŋāĻĒāĻžāĻ°āĻ¸ā§‹āĻ¨āĻžāĻ˛āĻžāĻ‡āĻœā§‡āĻļāĻ¨ āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤āĨ¤ āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ°āĻŋāĻœāĻžāĻ°ā§āĻ­ā§‡āĻļāĻ¨ āĻ•āĻ°āĻžāĻ“ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻ¯ā§‡ āĻāĻ‡ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨āĻŸāĻŋ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦ āĻŦāĻŋāĻļā§āĻ˛ā§‡āĻˇāĻŖāĻžāĻ¤ā§āĻŽāĻ• āĻĄā§‡āĻŸāĻžāĻŦā§‡āĻ¸ āĻāĻŦāĻ‚ āĻ¸āĻ‚āĻ—ā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛āĻ—ā§āĻ˛āĻŋāĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ¨āĻ¯āĻŧ; āĻāĻŸāĻŋ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻ° āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻ•āĻ°ā§‡āĨ¤

āĻļā§€āĻ°ā§āĻˇ āĻ¸ā§āĻ¤āĻ°ā§‡ āĻāĻŸāĻŋ āĻāĻ‡ āĻŽāĻ¤ āĻĻā§‡āĻ–āĻžāĻ¯āĻŧ:

āĻŽāĻžāĻ‡āĻ•ā§āĻ°ā§‹āĻ¸āĻžāĻ°ā§āĻ­āĻŋāĻ¸ āĻ†āĻ°ā§āĻ•āĻŋāĻŸā§‡āĻ•āĻšāĻžāĻ°ā§‡ āĻ…āĻĒāĻžāĻ°ā§‡āĻļāĻ¨āĻžāĻ˛ āĻŦāĻŋāĻļā§āĻ˛ā§‡āĻˇāĻŖ: āĻĒā§‹āĻ¸ā§āĻŸāĻ—ā§āĻ°ā§‡āĻ¸ āĻāĻĢāĻĄāĻŋāĻĄāĻžāĻŦā§āĻ˛ā§ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻāĻŦāĻ‚ āĻĒā§āĻ°āĻŽā§āĻĒāĻŸ
āĻāĻ•āĻŸāĻŋ 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

VERBOSE āĻŦāĻŋāĻŦā§ƒāĻ¤āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ°āĻŋāĻŽā§‹āĻŸ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°ā§‡ āĻĒāĻžāĻ āĻžāĻ¨ā§‹ āĻšāĻŦā§‡ āĻāĻŦāĻ‚ āĻ¯ā§‡ āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻ†āĻŽāĻ°āĻž āĻ†āĻ°āĻ“ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ•āĻ°āĻŖā§‡āĻ° āĻœāĻ¨ā§āĻ¯ (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 āĻŽāĻŋāĻ˛āĻŋāĻ¯āĻŧāĻ¨ āĻ¸āĻžāĻ°āĻŋ āĻŦā§‡āĻ° āĻ•āĻ°ā§‡āĨ¤ āĻ¸āĻžāĻĢāĻ˛ā§āĻ¯ā§‡āĻ° āĻšāĻžāĻŦāĻŋāĻ•āĻžāĻ āĻŋ āĻšāĻ˛ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻļā§āĻ¨ āĻ˛ā§‡āĻ–āĻž āĻ¯āĻžāĻ¤ā§‡ āĻĢāĻŋāĻ˛ā§āĻŸāĻžāĻ°āĻ—ā§āĻ˛āĻŋ āĻĻā§‚āĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻŽā§‡āĻļāĻŋāĻ¨ā§‡ āĻ¸ā§āĻĨāĻžāĻ¨āĻžāĻ¨ā§āĻ¤āĻ°āĻŋāĻ¤ āĻšāĻ¯āĻŧ āĻāĻŦāĻ‚ āĻ†āĻŽāĻ°āĻž āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻ¸āĻžāĻ°āĻŋāĻ—ā§āĻ˛āĻŋ āĻ—ā§āĻ°āĻšāĻŖ āĻ•āĻ°āĻŋ āĻāĻŦāĻ‚ āĻāĻ•āĻ¤ā§āĻ°āĻŋāĻ¤ āĻ•āĻ°āĻŋāĨ¤

āĻ¯ā§‡ āĻ•āĻŋāĻ›ā§ āĻŦā§āĻ˛āĻžāĻ¨āĻļāĻŋāĻŸ

āĻŦā§āĻ˛āĻŋāĻ¯āĻŧāĻžāĻ¨ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°āĻ—ā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻŦāĻ•āĻŋāĻ›ā§āĻ‡ āĻ¸āĻšāĻœāĨ¤ āĻŽā§‚āĻ˛ āĻ…āĻ¨ā§āĻ°ā§‹āĻ§ā§‡, āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻŸāĻŋ āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ°ā§‡āĻ° āĻ•āĻžāĻ°āĻŖā§‡ āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛ 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 āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ° āĻĨā§‡āĻ•ā§‡ āĻ†āĻ˛āĻžāĻĻāĻž = āĻ•āĻžāĻ°āĻŖ āĻāĻŸāĻŋ āĻ¨āĻžāĻ˛ āĻŽāĻžāĻ¨ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻāĻŸāĻž āĻŽāĻžāĻ¨ā§‡ āĻ¸āĻ¤ā§āĻ¯ āĻ¨āĻž āĻĢāĻŋāĻ˛ā§āĻŸāĻžāĻ°ā§‡ False āĻāĻŦāĻ‚ Null āĻŽāĻžāĻ¨āĻ—ā§āĻ˛āĻŋ āĻ›ā§‡āĻĄāĻŧā§‡ āĻĻā§‡āĻŦā§‡, āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ != āĻ¸āĻ¤ā§āĻ¯ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻŽāĻŋāĻĨā§āĻ¯āĻž āĻŽāĻžāĻ¨ āĻ›ā§‡āĻĄāĻŧā§‡ āĻ¯āĻžāĻŦā§‡. āĻ…āĻ¤āĻāĻŦ, āĻ¯āĻ–āĻ¨ āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻŸāĻŋ āĻ¨āĻž OR āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ°ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻĻā§āĻŸāĻŋ āĻļāĻ°ā§āĻ¤ āĻĢāĻŋāĻ˛ā§āĻŸāĻžāĻ°ā§‡ āĻĒāĻžāĻ¸ āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤, āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, WHERE (col!= True) OR (col is null).

āĻ†āĻŽāĻ°āĻž āĻŦā§āĻ˛āĻŋāĻ¯āĻŧāĻžāĻ¨ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻŽā§‹āĻ•āĻžāĻŦāĻŋāĻ˛āĻž āĻ•āĻ°ā§‡āĻ›āĻŋ, āĻ†āĻ¸ā§āĻ¨ āĻāĻ—āĻŋāĻ¯āĻŧā§‡ āĻ¯āĻžāĻ‡āĨ¤ āĻ†āĻĒāĻžāĻ¤āĻ¤, āĻ…āĻ¨ā§āĻ¯ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ā§‡āĻ° āĻĒā§āĻ°āĻ­āĻžāĻŦ āĻ¸ā§āĻŦāĻžāĻ§ā§€āĻ¨āĻ­āĻžāĻŦā§‡ āĻŦāĻŋāĻŦā§‡āĻšāĻ¨āĻž āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻŦā§āĻ˛āĻŋāĻ¯āĻŧāĻžāĻ¨ āĻĢāĻŋāĻ˛ā§āĻŸāĻžāĻ°āĻŸāĻŋāĻ•ā§‡ āĻ¤āĻžāĻ° āĻ†āĻ¸āĻ˛ āĻĢāĻ°ā§āĻŽā§‡ āĻĢāĻŋāĻ°āĻŋāĻ¯āĻŧā§‡ āĻĻā§‡āĻ“āĻ¯āĻŧāĻž āĻ¯āĻžāĻ•āĨ¤

āĻŸāĻžāĻ‡āĻŽāĻ¸ā§āĻŸā§āĻ¯āĻžāĻŽā§āĻĒāĻŸāĻœ? hz

āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ­āĻžāĻŦā§‡, āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻĒā§āĻ°āĻžāĻ¯āĻŧāĻļāĻ‡ āĻ°āĻŋāĻŽā§‹āĻŸ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°āĻ—ā§āĻ˛āĻŋ āĻœāĻĄāĻŧāĻŋāĻ¤ āĻāĻŽāĻ¨ āĻāĻ•āĻŸāĻŋ āĻ…āĻ¨ā§āĻ°ā§‹āĻ§ āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻ¸āĻ āĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻ˛āĻŋāĻ–āĻ¤ā§‡ āĻšāĻ¯āĻŧ āĻ¤āĻž āĻ¨āĻŋāĻ¯āĻŧā§‡ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ āĻāĻŦāĻ‚ āĻ•ā§‡āĻŦāĻ˛ āĻ¤āĻ–āĻ¨āĻ‡ āĻ•ā§‡āĻ¨ āĻāĻŸāĻŋ āĻ˜āĻŸā§‡ āĻ¤āĻžāĻ° āĻŦā§āĻ¯āĻžāĻ–ā§āĻ¯āĻž āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨ āĻ•āĻ°ā§āĻ¨āĨ¤ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻ¨ā§‡āĻŸā§‡ āĻāĻ‡ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ–ā§āĻŦ āĻ•āĻŽ āĻ¤āĻĨā§āĻ¯ āĻĒāĻžāĻ“āĻ¯āĻŧāĻž āĻ¯āĻžāĻŦā§‡āĨ¤ āĻ¸ā§āĻ¤āĻ°āĻžāĻ‚, āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ¯āĻŧ āĻ†āĻŽāĻ°āĻž āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒā§‡āĻ˛āĻžāĻŽ āĻ¯ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ¤āĻžāĻ°āĻŋāĻ– āĻĢāĻŋāĻ˛ā§āĻŸāĻžāĻ° āĻāĻ•āĻŸāĻŋ āĻ§āĻžāĻ•ā§āĻ•āĻž āĻĻāĻŋāĻ¯āĻŧā§‡ āĻĻā§‚āĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°ā§‡ āĻ‰āĻĄāĻŧā§‡ āĻ¯āĻžāĻ¯āĻŧ, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ¯āĻ–āĻ¨ āĻ†āĻŽāĻ°āĻž āĻ—āĻ¤āĻŋāĻļā§€āĻ˛āĻ­āĻžāĻŦā§‡ āĻ¤āĻžāĻ°āĻŋāĻ– āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ‡, āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, now() āĻŦāĻž CURRENT_DATE, āĻ¤āĻ–āĻ¨ āĻāĻŸāĻŋ āĻ˜āĻŸā§‡ āĻ¨āĻžāĨ¤ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ‰āĻĻāĻžāĻšāĻ°āĻŖā§‡, āĻ†āĻŽāĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻĢāĻŋāĻ˛ā§āĻŸāĻžāĻ° āĻ¯ā§‹āĻ— āĻ•āĻ°ā§‡āĻ›āĻŋ āĻ¯āĻžāĻ¤ā§‡ create_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 āĻ†āĻšāĻ°āĻŖ, push down (āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ 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

āĻāĻ•āĻŸāĻŋ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻœā§āĻĄāĻŧā§āĻ¨