āĻāĻ•āĻŸāĻŋ āĻāĻ¸āĻ•āĻŋāĻ‰āĻāĻ˛ āĻ¤āĻĻāĻ¨ā§āĻ¤ā§‡āĻ° āĻ—āĻ˛ā§āĻĒ

āĻ—āĻ¤ āĻĄāĻŋāĻ¸ā§‡āĻŽā§āĻŦāĻ°ā§‡ āĻ†āĻŽāĻŋ VWO āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻĻāĻ˛ā§‡āĻ° āĻ•āĻžāĻ› āĻĨā§‡āĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻ†āĻ•āĻ°ā§āĻˇāĻŖā§€āĻ¯āĻŧ āĻŦāĻžāĻ— āĻ°āĻŋāĻĒā§‹āĻ°ā§āĻŸ āĻĒā§‡āĻ¯āĻŧā§‡āĻ›āĻŋāĨ¤ āĻāĻ•āĻŸāĻŋ āĻŦā§ƒāĻšā§Ž āĻ•āĻ°ā§āĻĒā§‹āĻ°ā§‡āĻŸ āĻ•ā§āĻ˛āĻžāĻ¯āĻŧā§‡āĻ¨ā§āĻŸā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻŦāĻŋāĻļā§āĻ˛ā§‡āĻˇāĻŖ āĻĒā§āĻ°āĻ¤āĻŋāĻŦā§‡āĻĻāĻ¨āĻ—ā§āĻ˛āĻŋāĻ° āĻāĻ•āĻŸāĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧāĻŸāĻŋ āĻ¨āĻŋāĻˇāĻŋāĻĻā§āĻ§ āĻŦāĻ˛ā§‡ āĻŽāĻ¨ā§‡ āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛āĨ¤ āĻāĻŦāĻ‚ āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻāĻŸāĻŋ āĻ†āĻŽāĻžāĻ° āĻĻāĻžāĻ¯āĻŧāĻŋāĻ¤ā§āĻŦā§‡āĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°, āĻ†āĻŽāĻŋ āĻ…āĻŦāĻŋāĻ˛āĻŽā§āĻŦā§‡ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ā§‡āĻ° āĻĻāĻŋāĻ•ā§‡ āĻŽāĻ¨ā§‹āĻ¨āĻŋāĻŦā§‡āĻļ āĻ•āĻ°ā§‡āĻ›āĻŋāĨ¤

āĻĒā§āĻ°āĻžāĻ—āĻāĻ¤āĻŋāĻšāĻžāĻ¸āĻŋāĻ•

āĻ†āĻŽāĻŋ āĻ•āĻŋ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ•āĻĨāĻž āĻŦāĻ˛āĻ›āĻŋ āĻ¤āĻž āĻĒāĻ°āĻŋāĻˇā§āĻ•āĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯, āĻ†āĻŽāĻŋ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ VWO āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻāĻ•āĻŸā§ āĻŦāĻ˛āĻŦāĨ¤ āĻāĻŸāĻŋ āĻāĻŽāĻ¨ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ˛ā§āĻ¯āĻžāĻŸāĻĢāĻ°ā§āĻŽ āĻ¯āĻžāĻ° āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ“āĻ¯āĻŧā§‡āĻŦāĻ¸āĻžāĻ‡āĻŸāĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻ˛āĻ•ā§āĻˇā§āĻ¯āĻ¯ā§āĻ•ā§āĻ¤ āĻĒā§āĻ°āĻšāĻžāĻ°āĻžāĻ­āĻŋāĻ¯āĻžāĻ¨ āĻšāĻžāĻ˛ā§ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨: A/B āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻ¨āĻž āĻ•āĻ°ā§āĻ¨, āĻĻāĻ°ā§āĻļāĻ• āĻāĻŦāĻ‚ āĻ°ā§‚āĻĒāĻžāĻ¨ā§āĻ¤āĻ°āĻ—ā§āĻ˛āĻŋ āĻŸā§āĻ°ā§āĻ¯āĻžāĻ• āĻ•āĻ°ā§āĻ¨, āĻŦāĻŋāĻ•ā§āĻ°āĻ¯āĻŧ āĻĢāĻžāĻ¨ā§‡āĻ˛ āĻŦāĻŋāĻļā§āĻ˛ā§‡āĻˇāĻŖ āĻ•āĻ°ā§āĻ¨, āĻ¤āĻžāĻĒ āĻŽāĻžāĻ¨āĻšāĻŋāĻ¤ā§āĻ° āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻ¨ āĻ•āĻ°ā§āĻ¨ āĻāĻŦāĻ‚ āĻ­āĻŋāĻœāĻŋāĻŸ āĻ°ā§‡āĻ•āĻ°ā§āĻĄāĻŋāĻ‚ āĻĒā§āĻ˛ā§‡ āĻ•āĻ°ā§āĻ¨ā§ˇ

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

āĻĒā§āĻ˛ā§āĻ¯āĻžāĻŸāĻĢāĻ°ā§āĻŽāĻŸāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡, āĻ†āĻĒāĻ¨āĻŋ āĻāĻ•āĻŸāĻŋ āĻŦāĻĄāĻŧ āĻĄā§‡āĻŸāĻž āĻ¸ā§‡āĻŸā§‡ āĻāĻ•āĻŸāĻŋ āĻāĻ˛ā§‹āĻŽā§‡āĻ˛ā§‹ āĻĒā§āĻ°āĻļā§āĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤ āĻāĻ–āĻžāĻ¨ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¸āĻšāĻœ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ:

āĻ¯āĻžāĻ°āĻž āĻ•ā§āĻ°ā§‹āĻŽ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡āĻ›ā§‡āĻ¨ āĻŦāĻž (āĻ‡āĻ‰āĻ°ā§‹āĻĒā§‡ āĻ…āĻŦāĻ¸ā§āĻĨāĻŋāĻ¤ āĻāĻŦāĻ‚ āĻāĻ•āĻŸāĻŋ āĻ†āĻ‡āĻĢā§‹āĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡āĻ›ā§‡āĻ¨) āĻ¤āĻžāĻĻā§‡āĻ° āĻœāĻ¨ā§āĻ¯ <date d1> āĻĨā§‡āĻ•ā§‡ <date d2> āĻĒā§ƒāĻˇā§āĻ āĻž "abc.com"-āĻ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ•ā§āĻ˛āĻŋāĻ• āĻĻā§‡āĻ–āĻžāĻ¨

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

āĻ§ā§€āĻ° āĻ…āĻ¨ā§āĻ°ā§‹āĻ§

āĻĒā§āĻ°āĻļā§āĻ¨āĻ¯ā§āĻ•ā§āĻ¤ āĻ•ā§āĻ˛āĻžāĻ¯āĻŧā§‡āĻ¨ā§āĻŸ āĻāĻŽāĻ¨ āĻ•āĻŋāĻ›ā§ āĻ•āĻ°āĻžāĻ° āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°āĻ›āĻŋāĻ˛ āĻ¯āĻž āĻ¸ā§āĻŦāĻœā§āĻžāĻžāĻ¤āĻ­āĻžāĻŦā§‡ āĻĻā§āĻ°ā§āĻ¤ āĻ•āĻžāĻœ āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤:

āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻĻā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¸ā§‡āĻļāĻ¨ āĻ°ā§‡āĻ•āĻ°ā§āĻĄ āĻĻā§‡āĻ–āĻžāĻ¨ āĻ¯āĻžāĻ°āĻž "/jobs" āĻ¯ā§āĻ•ā§āĻ¤ URL āĻ¸āĻš āĻ¯ā§‡āĻ•ā§‹āĻ¨ā§‹ āĻĒā§ƒāĻˇā§āĻ āĻž āĻĒāĻ°āĻŋāĻĻāĻ°ā§āĻļāĻ¨ āĻ•āĻ°ā§‡āĻ›ā§‡āĻ¨

āĻāĻ‡ āĻ¸āĻžāĻ‡āĻŸā§‡ āĻĒā§āĻ°āĻšā§āĻ° āĻŸā§āĻ°āĻžāĻĢāĻŋāĻ• āĻ›āĻŋāĻ˛ āĻāĻŦāĻ‚ āĻ†āĻŽāĻ°āĻž āĻāĻŸāĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ• āĻŽāĻŋāĻ˛āĻŋāĻ¯āĻŧāĻ¨ā§‡āĻ°āĻ“ āĻŦā§‡āĻļāĻŋ āĻ…āĻ¨āĻ¨ā§āĻ¯ URL āĻ¸āĻžā§āĻšāĻ¯āĻŧ āĻ•āĻ°āĻ›āĻŋāĻ˛āĻžāĻŽā§ˇ āĻāĻŦāĻ‚ āĻ¤āĻžāĻ°āĻž āĻ¤āĻžāĻĻā§‡āĻ° āĻŦā§āĻ¯āĻŦāĻ¸āĻžāĻ° āĻŽāĻĄā§‡āĻ˛ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•āĻŋāĻ¤ āĻāĻ•āĻŸāĻŋ āĻŽā§‹āĻŸāĻžāĻŽā§āĻŸāĻŋ āĻ¸āĻšāĻœ URL āĻŸā§‡āĻŽāĻĒā§āĻ˛ā§‡āĻŸ āĻ–ā§āĻāĻœā§‡ āĻĒā§‡āĻ¤ā§‡ āĻšā§‡āĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛āĨ¤

āĻĒā§āĻ°āĻžāĻĨāĻŽāĻŋāĻ• āĻ¤āĻĻāĻ¨ā§āĻ¤

āĻ†āĻ¸ā§āĻ¨ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ā§‡ āĻ•āĻŋ āĻšāĻšā§āĻ›ā§‡ āĻ¤āĻž āĻāĻ•āĻŦāĻžāĻ° āĻĻā§‡āĻ–ā§‡ āĻ¨ā§‡āĻ“āĻ¯āĻŧāĻž āĻ¯āĻžāĻ•āĨ¤ āĻ¨ā§€āĻšā§‡ āĻŽā§‚āĻ˛ āĻ§ā§€āĻ° SQL āĻ•ā§āĻ¯ā§‹āĻ¯āĻŧāĻžāĻ°ā§€ āĻ†āĻ›ā§‡:

SELECT 
    count(*) 
FROM 
    acc_{account_id}.urls as recordings_urls, 
    acc_{account_id}.recording_data as recording_data, 
    acc_{account_id}.sessions as sessions 
WHERE 
    recording_data.usp_id = sessions.usp_id 
    AND sessions.referrer_id = recordings_urls.id 
    AND  (  urls &&  array(select id from acc_{account_id}.urls where url  ILIKE  '%enterprise_customer.com/jobs%')::text[]   ) 
    AND r_time > to_timestamp(1542585600) 
    AND r_time < to_timestamp(1545177599) 
    AND recording_data.duration >=5 
    AND recording_data.num_of_pages > 0 ;

āĻāĻŦāĻ‚ āĻāĻ–āĻžāĻ¨ā§‡ āĻ¸āĻŽāĻ¯āĻŧ āĻ†āĻ›ā§‡:

āĻĒāĻ°āĻŋāĻ•āĻ˛ā§āĻĒāĻŋāĻ¤ āĻ¸āĻŽāĻ¯āĻŧ: 1.480 ms āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨ā§‡āĻ° āĻ¸āĻŽāĻ¯āĻŧ: 1431924.650 ms

āĻĒā§āĻ°āĻļā§āĻ¨āĻŸāĻŋ 150 āĻšāĻžāĻœāĻžāĻ° āĻ¸āĻžāĻ°āĻŋ āĻ•ā§āĻ°āĻ˛ āĻ•āĻ°ā§‡āĻ›ā§‡ā§ˇ āĻ•ā§āĻ¯ā§‹āĻ¯āĻŧāĻžāĻ°ā§€ āĻĒāĻ°āĻŋāĻ•āĻ˛ā§āĻĒāĻ¨āĻžāĻ•āĻžāĻ°ā§€ āĻ•āĻ¯āĻŧā§‡āĻ•āĻŸāĻŋ āĻ†āĻ•āĻ°ā§āĻˇāĻŖā§€āĻ¯āĻŧ āĻŦāĻŋāĻŦāĻ°āĻŖ āĻĻā§‡āĻ–āĻŋāĻ¯āĻŧā§‡āĻ›ā§‡, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ•ā§‹āĻ¨ āĻ¸ā§āĻ¸ā§āĻĒāĻˇā§āĻŸ āĻŦāĻžāĻ§āĻž āĻ¨ā§‡āĻ‡āĨ¤

āĻāĻ° āĻ…āĻ¨ā§āĻ°ā§‹āĻ§ āĻ†āĻ°āĻ“ āĻ…āĻ§ā§āĻ¯āĻ¯āĻŧāĻ¨ āĻ•āĻ°āĻž āĻ¯āĻžāĻ•. āĻ†āĻĒāĻ¨āĻŋ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻšā§āĻ›ā§‡āĻ¨, āĻ¤āĻŋāĻ¨āĻŋ āĻ•āĻ°ā§‡āĻ¨ JOIN āĻ¤āĻŋāĻ¨āĻŸāĻŋ āĻŸā§‡āĻŦāĻŋāĻ˛:

  1. āĻ¸ā§‡āĻļāĻ¨: āĻ¸ā§‡āĻļāĻ¨ āĻ¤āĻĨā§āĻ¯ āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻ¨ āĻ•āĻ°āĻ¤ā§‡: āĻŦā§āĻ°āĻžāĻ‰āĻœāĻžāĻ°, āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ āĻāĻœā§‡āĻ¨ā§āĻŸ, āĻĻā§‡āĻļ, āĻāĻŦāĻ‚ āĻ¤āĻžāĻ‡āĨ¤
  2. āĻ°ā§‡āĻ•āĻ°ā§āĻĄāĻŋāĻ‚_āĻĄā§‡āĻŸāĻž: āĻ°ā§‡āĻ•āĻ°ā§āĻĄ āĻ•āĻ°āĻž URL, āĻĒā§ƒāĻˇā§āĻ āĻž, āĻĒāĻ°āĻŋāĻĻāĻ°ā§āĻļāĻ¨ā§‡āĻ° āĻ¸āĻŽāĻ¯āĻŧāĻ•āĻžāĻ˛
  3. URL āĻ—ā§āĻ˛āĻŋ: āĻ…āĻ¤ā§āĻ¯āĻ¨ā§āĻ¤ āĻŦāĻĄāĻŧ URL-āĻāĻ° āĻ¨āĻ•āĻ˛ āĻāĻĄāĻŧāĻžāĻ¤ā§‡, āĻ†āĻŽāĻ°āĻž āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻĒā§ƒāĻĨāĻ• āĻŸā§‡āĻŦāĻŋāĻ˛ā§‡ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°āĻŋāĨ¤

āĻāĻ›āĻžāĻĄāĻŧāĻžāĻ“ āĻŽāĻ¨ā§‡ āĻ°āĻžāĻ–āĻŦā§‡āĻ¨ āĻ¯ā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻŸā§‡āĻŦāĻŋāĻ˛ āĻ‡āĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§‡ āĻĻā§āĻŦāĻžāĻ°āĻž āĻŦāĻŋāĻ­āĻžāĻœāĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ account_id. āĻāĻ‡āĻ­āĻžāĻŦā§‡, āĻāĻ•āĻŸāĻŋ āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋ āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻļā§‡āĻˇāĻ­āĻžāĻŦā§‡ āĻŦāĻĄāĻŧ āĻ…ā§āĻ¯āĻžāĻ•āĻžāĻ‰āĻ¨ā§āĻŸ āĻ…āĻ¨ā§āĻ¯āĻĻā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻ¸ā§ƒāĻˇā§āĻŸāĻŋ āĻ•āĻ°ā§‡ āĻ¤āĻž āĻŦāĻžāĻĻ āĻĻā§‡āĻ“āĻ¯āĻŧāĻž āĻšāĻ¯āĻŧāĨ¤

āĻ•ā§āĻ˛ā§āĻ¸ āĻ–ā§āĻāĻœāĻ›āĻŋ

āĻ˜āĻ¨āĻŋāĻˇā§āĻ āĻ­āĻžāĻŦā§‡ āĻĒāĻ°āĻŋāĻĻāĻ°ā§āĻļāĻ¨ āĻ•āĻ°āĻžāĻ° āĻĒāĻ°ā§‡, āĻ†āĻŽāĻ°āĻž āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻ‡ āĻ¯ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ…āĻ¨ā§āĻ°ā§‹āĻ§ā§‡ āĻ•āĻŋāĻ›ā§ āĻ­ā§āĻ˛ āĻ†āĻ›ā§‡āĨ¤ āĻāĻ‡ āĻ˛āĻžāĻ‡āĻ¨āĻŸāĻŋ āĻ˜āĻ¨āĻŋāĻˇā§āĻ āĻ­āĻžāĻŦā§‡ āĻĻā§‡āĻ–āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻŸāĻŋ āĻŽā§‚āĻ˛ā§āĻ¯āĻŦāĻžāĻ¨:

urls && array(
	select id from acc_{account_id}.urls 
	where url  ILIKE  '%enterprise_customer.com/jobs%'
)::text[]

āĻĒā§āĻ°āĻĨāĻŽ āĻšāĻŋāĻ¨ā§āĻ¤āĻž āĻ›āĻŋāĻ˛ āĻ¯ā§‡ āĻ¸āĻŽā§āĻ­āĻŦāĻ¤ āĻ•āĻžāĻ°āĻŖ ILIKE āĻāĻ‡ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĻā§€āĻ°ā§āĻ˜ URL-āĻ (āĻ†āĻŽāĻžāĻĻā§‡āĻ° 1,4 āĻŽāĻŋāĻ˛āĻŋāĻ¯āĻŧāĻ¨ā§‡āĻ°āĻ“ āĻŦā§‡āĻļāĻŋ āĻ…āĻ¨āĻ¨ā§āĻ¯ āĻāĻ‡ āĻ…ā§āĻ¯āĻžāĻ•āĻžāĻ‰āĻ¨ā§āĻŸā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻ‚āĻ—ā§ƒāĻšā§€āĻ¤ URL) āĻ•āĻ°ā§āĻŽāĻ•ā§āĻˇāĻŽāĻ¤āĻž āĻ•ā§āĻˇāĻ¤āĻŋāĻ—ā§āĻ°āĻ¸ā§āĻ¤ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤

āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ¨āĻž, āĻŦāĻŋāĻˇāĻ¯āĻŧāĻŸāĻž āĻāĻŽāĻ¨ āĻ¨āĻ¯āĻŧ!

SELECT id FROM urls WHERE url ILIKE '%enterprise_customer.com/jobs%';
  id
--------
 ...
(198661 rows)

Time: 5231.765 ms

āĻŸā§‡āĻŽāĻĒā§āĻ˛ā§‡āĻŸ āĻ…āĻ¨ā§āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨ā§‡āĻ° āĻ…āĻ¨ā§āĻ°ā§‹āĻ§ āĻ¨āĻŋāĻœā§‡āĻ‡ āĻŽāĻžāĻ¤ā§āĻ° 5 āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄ āĻ¸āĻŽāĻ¯āĻŧ āĻ¨ā§‡āĻ¯āĻŧāĨ¤ āĻāĻ• āĻŽāĻŋāĻ˛āĻŋāĻ¯āĻŧāĻ¨ āĻ…āĻ¨āĻ¨ā§āĻ¯ URL-āĻ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ¯āĻžāĻŸāĻžāĻ°ā§āĻ¨ āĻ…āĻ¨ā§āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨ āĻ•āĻ°āĻž āĻ¸ā§āĻĒāĻˇā§āĻŸāĻ¤āĻ‡ āĻāĻ•āĻŸāĻŋ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻ¨āĻ¯āĻŧāĨ¤

āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻ¯āĻŧ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻ¸āĻ¨ā§āĻĻā§‡āĻšāĻ­āĻžāĻœāĻ¨ āĻŦā§‡āĻļ āĻ•āĻ¯āĻŧā§‡āĻ•āĻœāĻ¨ JOIN. āĻ¸āĻŽā§āĻ­āĻŦāĻ¤ āĻ¤āĻžāĻĻā§‡āĻ° āĻ…āĻ¤ā§āĻ¯āĻ§āĻŋāĻ• āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻŽāĻ¨ā§āĻĻāĻžāĻ° āĻ•āĻžāĻ°āĻŖ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡? āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ JOINāĻĒāĻžāĻ°āĻĢāĻ°āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¸ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻŦāĻšā§‡āĻ¯āĻŧā§‡ āĻ¸ā§āĻ¸ā§āĻĒāĻˇā§āĻŸ āĻĒā§āĻ°āĻžāĻ°ā§āĻĨā§€, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ†āĻŽāĻŋ āĻŦāĻŋāĻļā§āĻŦāĻžāĻ¸ āĻ•āĻ°āĻŋāĻ¨āĻŋ āĻ¯ā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ•ā§‡āĻ¸āĻŸāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĨ¤

analytics_db=# SELECT
    count(*)
FROM
    acc_{account_id}.urls as recordings_urls,
    acc_{account_id}.recording_data_0 as recording_data,
    acc_{account_id}.sessions_0 as sessions
WHERE
    recording_data.usp_id = sessions.usp_id
    AND sessions.referrer_id = recordings_urls.id
    AND r_time > to_timestamp(1542585600)
    AND r_time < to_timestamp(1545177599)
    AND recording_data.duration >=5
    AND recording_data.num_of_pages > 0 ;
 count
-------
  8086
(1 row)

Time: 147.851 ms

āĻāĻŦāĻ‚ āĻāĻŸāĻŋ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻ›āĻŋāĻ˛ āĻ¨āĻžāĨ¤ JOINāĻāĻŸāĻž āĻŦā§‡āĻļ āĻĻā§āĻ°ā§āĻ¤ āĻšāĻ¤ā§‡ āĻĒāĻ°āĻŋāĻŖāĻ¤.

āĻ¸āĻ¨ā§āĻĻā§‡āĻšāĻ­āĻžāĻœāĻ¨āĻĻā§‡āĻ° āĻŦā§ƒāĻ¤ā§āĻ¤ āĻ¸āĻ‚āĻ•ā§āĻšāĻŋāĻ¤ āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡

āĻ†āĻŽāĻŋ āĻ•ā§‹āĻ¨ā§‹ āĻ¸āĻŽā§āĻ­āĻžāĻŦā§āĻ¯ āĻ•āĻ°ā§āĻŽāĻ•ā§āĻˇāĻŽāĻ¤āĻž āĻ‰āĻ¨ā§āĻ¨āĻ¤āĻŋ āĻ…āĻ°ā§āĻœāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ•ā§āĻ¯ā§‹āĻ¯āĻŧāĻžāĻ°ā§€ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻļā§āĻ°ā§ āĻ•āĻ°āĻ¤ā§‡ āĻĒā§āĻ°āĻ¸ā§āĻ¤ā§āĻ¤ āĻ›āĻŋāĻ˛āĻžāĻŽāĨ¤ āĻ†āĻŽāĻžāĻ° āĻĻāĻ˛ āĻāĻŦāĻ‚ āĻ†āĻŽāĻŋ 2āĻŸāĻŋ āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻ§āĻžāĻ°āĻŖāĻž āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§‡āĻ›āĻŋ:

  • āĻ¸āĻžāĻŦāĻ•ā§‹āĻ¯āĻŧā§‡āĻ°āĻŋ āĻ‡āĻ‰āĻ†āĻ°āĻāĻ˛ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§āĻ¨: URL-āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻžāĻŦāĻ•ā§‹āĻ¯āĻŧā§‡āĻ°āĻŋāĻ¤ā§‡ āĻ•ā§‹āĻ¨ā§‹ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻ†āĻ›ā§‡ āĻ•āĻŋāĻ¨āĻž āĻ†āĻŽāĻ°āĻž āĻ†āĻŦāĻžāĻ° āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻ¤ā§‡ āĻšā§‡āĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛āĻžāĻŽāĨ¤ āĻāĻŸāĻŋ āĻ…āĻ°ā§āĻœāĻ¨ āĻ•āĻ°āĻžāĻ° āĻāĻ•āĻŸāĻŋ āĻ‰āĻĒāĻžāĻ¯āĻŧ āĻšāĻ˛ āĻ¸āĻšāĻœāĻ­āĻžāĻŦā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž EXISTS. EXISTS āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ āĻ•āĻ°ā§āĻŽāĻ•ā§āĻˇāĻŽāĻ¤āĻž āĻŦā§āĻ¯āĻžāĻĒāĻ•āĻ­āĻžāĻŦā§‡ āĻ‰āĻ¨ā§āĻ¨āĻ¤ āĻ•āĻ°ā§‡ āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻāĻŸāĻŋ āĻļāĻ°ā§āĻ¤ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻŽā§‡āĻ˛ā§‡ āĻāĻŽāĻ¨ āĻāĻ•āĻŽāĻžāĻ¤ā§āĻ° āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚ āĻ–ā§āĻāĻœā§‡ āĻĒāĻžāĻ“āĻ¯āĻŧāĻžāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻžāĻĨā§‡ āĻāĻŸāĻŋ āĻ…āĻŦāĻŋāĻ˛āĻŽā§āĻŦā§‡ āĻļā§‡āĻˇ āĻšāĻ¯āĻŧā§‡ āĻ¯āĻžāĻ¯āĻŧāĨ¤

SELECT
	count(*) 
FROM 
    acc_{account_id}.urls as recordings_urls,
    acc_{account_id}.recording_data as recording_data,
    acc_{account_id}.sessions as sessions
WHERE
    recording_data.usp_id = sessions.usp_id
    AND  (  1 = 1  )
    AND sessions.referrer_id = recordings_urls.id
    AND  (exists(select id from acc_{account_id}.urls where url  ILIKE '%enterprise_customer.com/jobs%'))
    AND r_time > to_timestamp(1547585600)
    AND r_time < to_timestamp(1549177599)
    AND recording_data.duration >=5
    AND recording_data.num_of_pages > 0 ;
 count
 32519
(1 row)
Time: 1636.637 ms

āĻšā§āĻ¯āĻžāĻ āĻ āĻŋāĻ•. āĻ¸āĻžāĻŦāĻ•ā§‹āĻ¯āĻŧāĻžāĻ°āĻŋ āĻ¯āĻ–āĻ¨ āĻŽā§‹āĻĄāĻŧāĻžāĻ¨ā§‹ EXISTS, āĻ¸āĻŦāĻ•āĻŋāĻ›ā§ āĻ…āĻ¤āĻŋ āĻĻā§āĻ°ā§āĻ¤ āĻ•āĻ°ā§‡ āĻ¤ā§‹āĻ˛ā§‡āĨ¤ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻ¯ā§ŒāĻ•ā§āĻ¤āĻŋāĻ• āĻĒā§āĻ°āĻļā§āĻ¨ āĻ•ā§‡āĻ¨ āĻ¸āĻ™ā§āĻ—ā§‡ āĻ…āĻ¨ā§āĻ°ā§‹āĻ§ JOIN-ami āĻāĻŦāĻ‚ subquery āĻ¨āĻŋāĻœā§‡āĻ‡ āĻ¸ā§āĻŦāĻ¤āĻ¨ā§āĻ¤ā§āĻ°āĻ­āĻžāĻŦā§‡ āĻĻā§āĻ°ā§āĻ¤, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻāĻ•āĻ¸āĻ™ā§āĻ—ā§‡ āĻ­āĻ¯āĻŧāĻ™ā§āĻ•āĻ° āĻ§ā§€āĻ°?

  • āĻ¸āĻžāĻŦāĻ•ā§‹āĻ¯āĻŧāĻžāĻ°āĻŋāĻŸāĻŋ CTE-āĻ¤ā§‡ āĻ¸āĻ°āĻžāĻ¨ā§‹ āĻšāĻšā§āĻ›ā§‡ : āĻ¯āĻĻāĻŋ āĻ•ā§āĻ¯ā§‹āĻ¯āĻŧāĻžāĻ°ā§€āĻŸāĻŋ āĻ¨āĻŋāĻœā§‡ āĻĨā§‡āĻ•ā§‡ āĻĻā§āĻ°ā§āĻ¤ āĻšāĻ¯āĻŧ, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ†āĻŽāĻ°āĻž āĻĒā§āĻ°āĻĨāĻŽā§‡ āĻĻā§āĻ°ā§āĻ¤ āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻ—āĻŖāĻ¨āĻž āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋ āĻāĻŦāĻ‚ āĻ¤āĻžāĻ°āĻĒāĻ° āĻāĻŸāĻŋ āĻŽā§‚āĻ˛ āĻ•ā§āĻ¯ā§‹āĻ¯āĻŧāĻžāĻ°ā§€āĻ¤ā§‡ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋ

WITH matching_urls AS (
    select id::text from acc_{account_id}.urls where url  ILIKE  '%enterprise_customer.com/jobs%'
)

SELECT 
    count(*) FROM acc_{account_id}.urls as recordings_urls, 
    acc_{account_id}.recording_data as recording_data, 
    acc_{account_id}.sessions as sessions,
    matching_urls
WHERE 
    recording_data.usp_id = sessions.usp_id 
    AND  (  1 = 1  )  
    AND sessions.referrer_id = recordings_urls.id
    AND (urls && array(SELECT id from matching_urls)::text[])
    AND r_time > to_timestamp(1542585600) 
    AND r_time < to_timestamp(1545107599)
    AND recording_data.duration >=5 
    AND recording_data.num_of_pages > 0;

āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻāĻŸāĻŋ āĻāĻ–āĻ¨āĻ“ āĻ–ā§āĻŦ āĻ§ā§€āĻ° āĻ›āĻŋāĻ˛.

āĻ…āĻĒāĻ°āĻžāĻ§ā§€āĻ° āĻ–ā§‹āĻāĻœ

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

āĻĻāĻŋāĻ•ā§‡ āĻ¤āĻžāĻ•āĻžāĻ“ āĻĄāĻ•ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨, āĻ†āĻŽāĻ°āĻž āĻ¯ā§‡ āĻĻā§‡āĻ–āĻ¤ā§‡ && āĻ¯āĻ–āĻ¨ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻĻā§āĻŸāĻŋ āĻ…ā§āĻ¯āĻžāĻ°ā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨āĻ—ā§āĻ˛āĻŋ āĻ–ā§āĻāĻœā§‡ āĻŦā§‡āĻ° āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ āĻ¤āĻ–āĻ¨ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻšāĻ¯āĻŧāĨ¤

āĻŽā§‚āĻ˛ āĻ…āĻ¨ā§āĻ°ā§‹āĻ§ā§‡ āĻāĻŸāĻŋ āĻšāĻ˛:

AND  (  urls &&  array(select id from acc_{account_id}.urls where url  ILIKE  '%enterprise_customer.com/jobs%')::text[]   )

āĻ¯āĻžāĻ° āĻŽāĻžāĻ¨ā§‡ āĻ†āĻŽāĻ°āĻž āĻ†āĻŽāĻžāĻĻā§‡āĻ° URL āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ¯āĻžāĻŸāĻžāĻ°ā§āĻ¨ āĻ…āĻ¨ā§āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨ āĻ•āĻ°āĻŋ, āĻ¤āĻžāĻ°āĻĒāĻ° āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻĒā§‹āĻ¸ā§āĻŸ āĻ¸āĻš āĻ¸āĻŽāĻ¸ā§āĻ¤ URL āĻāĻ° āĻ¸āĻžāĻĨā§‡ āĻ›ā§‡āĻĻ āĻ–ā§āĻāĻœā§‡ āĻĒāĻžāĻ‡ā§ˇ āĻāĻŸāĻŋ āĻ•āĻŋāĻ›ā§āĻŸāĻž āĻŦāĻŋāĻ­ā§āĻ°āĻžāĻ¨ā§āĻ¤āĻŋāĻ•āĻ° āĻ•āĻžāĻ°āĻŖ āĻāĻ–āĻžāĻ¨ā§‡ "urls" āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ‡āĻ‰āĻ†āĻ°āĻāĻ˛ āĻ¸āĻŽāĻ¨ā§āĻŦāĻŋāĻ¤ āĻ¸āĻžāĻ°āĻŖā§€āĻ•ā§‡ āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ– āĻ•āĻ°ā§‡ āĻ¨āĻž, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻŸā§‡āĻŦāĻŋāĻ˛ā§‡āĻ° "urls" āĻ•āĻ˛āĻžāĻŽā§‡ āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ– āĻ•āĻ°ā§‡ recording_data.

āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ•ā§āĻ°āĻŽāĻŦāĻ°ā§āĻ§āĻŽāĻžāĻ¨ āĻ¸āĻ¨ā§āĻĻā§‡āĻš āĻ¸āĻ™ā§āĻ—ā§‡ &&, āĻ†āĻŽāĻŋ āĻœā§‡āĻ¨āĻžāĻ°ā§‡āĻŸ āĻ•āĻ°āĻž āĻ•ā§āĻ¯ā§‹āĻ¯āĻŧāĻžāĻ°ā§€ āĻĒā§āĻ˛ā§āĻ¯āĻžāĻ¨ā§‡ āĻ¤āĻžāĻĻā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¨āĻŋāĻļā§āĻšāĻŋāĻ¤āĻ•āĻ°āĻŖ āĻ–ā§‹āĻāĻœāĻžāĻ° āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°ā§‡āĻ›āĻŋ EXPLAIN ANALYZE (āĻ†āĻŽāĻžāĻ° āĻ‡āĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§‡ āĻāĻ•āĻŸāĻŋ āĻĒāĻ°āĻŋāĻ•āĻ˛ā§āĻĒāĻ¨āĻž āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŋāĻ¤ āĻ›āĻŋāĻ˛, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ†āĻŽāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻ•ā§‹āĻ¯āĻŧā§‡āĻ°āĻŋ āĻĒā§āĻ˛ā§āĻ¯āĻžāĻ¨āĻžāĻ°āĻĻā§‡āĻ° āĻ…āĻ¸ā§āĻŦāĻšā§āĻ›āĻ¤āĻž āĻŦā§‹āĻāĻžāĻ° āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°āĻžāĻ° āĻšā§‡āĻ¯āĻŧā§‡ SQL āĻ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻ¤ā§‡ āĻŦā§‡āĻļāĻŋ āĻ¸ā§āĻŦāĻžāĻšā§āĻ›āĻ¨ā§āĻĻā§āĻ¯āĻŦā§‹āĻ§ āĻ•āĻ°āĻŋ)āĨ¤

Filter: ((urls && ($0)::text[]) AND (r_time > '2018-12-17 12:17:23+00'::timestamp with time zone) AND (r_time < '2018-12-18 23:59:59+00'::timestamp with time zone) AND (duration >= '5'::double precision) AND (num_of_pages > 0))
                           Rows Removed by Filter: 52710

āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻĨā§‡āĻ•ā§‡ āĻĢāĻŋāĻ˛ā§āĻŸāĻžāĻ° āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻ˛āĻžāĻ‡āĻ¨ āĻ›āĻŋāĻ˛ &&. āĻ¯āĻžāĻ° āĻ…āĻ°ā§āĻĨ āĻāĻ‡ āĻ…āĻĒāĻžāĻ°ā§‡āĻļāĻ¨āĻŸāĻŋ āĻ•ā§‡āĻŦāĻ˛ āĻŦā§āĻ¯āĻ¯āĻŧāĻŦāĻšā§āĻ˛ āĻ¨āĻ¯āĻŧ, āĻŦā§‡āĻļ āĻ•āĻ¯āĻŧā§‡āĻ•āĻŦāĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛āĨ¤

āĻ†āĻŽāĻŋ āĻļāĻ°ā§āĻ¤ āĻŦāĻŋāĻšā§āĻ›āĻŋāĻ¨ā§āĻ¨ āĻ•āĻ°ā§‡ āĻāĻŸāĻŋ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°ā§‡āĻ›āĻŋ

SELECT 1
FROM 
    acc_{account_id}.urls as recordings_urls, 
    acc_{account_id}.recording_data_30 as recording_data_30, 
    acc_{account_id}.sessions_30 as sessions_30 
WHERE 
	urls &&  array(select id from acc_{account_id}.urls where url  ILIKE  '%enterprise_customer.com/jobs%')::text[]

āĻāĻ‡ āĻĒā§āĻ°āĻļā§āĻ¨ āĻ§ā§€āĻ° āĻ›āĻŋāĻ˛. āĻ•āĻžāĻ°āĻ¨ JOIN-s āĻĻā§āĻ°ā§āĻ¤ āĻāĻŦāĻ‚ subqueries āĻĻā§āĻ°ā§āĻ¤, āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻœāĻŋāĻ¨āĻŋāĻ¸ āĻŦāĻžāĻ•āĻŋ āĻ›āĻŋāĻ˛ && āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ°.

āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻŽā§‚āĻ˛ āĻ…āĻĒāĻžāĻ°ā§‡āĻļāĻ¨ āĻŽāĻžāĻ¤ā§āĻ°āĨ¤ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ¯āĻžāĻŸāĻžāĻ°ā§āĻ¨ āĻ…āĻ¨ā§āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ¸āĻ°ā§āĻŦāĻĻāĻž URL-āĻāĻ° āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ¨āĻŋāĻšāĻŋāĻ¤ āĻ¸āĻžāĻ°āĻŖā§€ āĻ…āĻ¨ā§āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ āĻāĻŦāĻ‚ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ¸āĻ°ā§āĻŦāĻĻāĻž āĻ›ā§‡āĻĻ āĻ–ā§āĻāĻœā§‡ āĻŦā§‡āĻ° āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤ āĻ†āĻŽāĻ°āĻž āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻ‡āĻ‰āĻ†āĻ°āĻāĻ˛ āĻ°ā§‡āĻ•āĻ°ā§āĻĄ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ…āĻ¨ā§āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋ āĻ¨āĻž, āĻ•āĻžāĻ°āĻŖ āĻāĻ—ā§āĻ˛āĻŋ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ†āĻ‡āĻĄāĻŋ āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ– āĻ•āĻ°ā§‡ urls.

āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ā§‡āĻ° āĻĒāĻĨā§‡

&& āĻ§ā§€āĻ° āĻ•āĻžāĻ°āĻŖ āĻ‰āĻ­āĻ¯āĻŧ āĻ¸ā§‡āĻŸ āĻŦāĻŋāĻļāĻžāĻ˛āĨ¤ āĻ†āĻŽāĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°āĻ˛ā§‡ āĻ…āĻĒāĻžāĻ°ā§‡āĻļāĻ¨ āĻ¤ā§āĻ˛āĻ¨āĻžāĻŽā§‚āĻ˛āĻ•āĻ­āĻžāĻŦā§‡ āĻĻā§āĻ°ā§āĻ¤ āĻšāĻŦā§‡ urls āĻ‰āĻĒāĻ° { "http://google.com/", "http://wingify.com/" }.

āĻ†āĻŽāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ¨āĻž āĻ•āĻ°ā§‡ āĻĒā§‹āĻ¸ā§āĻŸāĻ—ā§āĻ°ā§‡āĻ¸ā§‡ āĻ¸ā§‡āĻŸ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻ¸ā§‡āĻ•āĻļāĻ¨ āĻ•āĻ°āĻžāĻ° āĻāĻ•āĻŸāĻŋ āĻ‰āĻĒāĻžāĻ¯āĻŧ āĻ–ā§āĻāĻœāĻ¤ā§‡ āĻļā§āĻ°ā§ āĻ•āĻ°ā§‡āĻ›āĻŋ &&, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ…āĻ¨ā§‡āĻ• āĻ¸āĻžāĻĢāĻ˛ā§āĻ¯ āĻ›āĻžāĻĄāĻŧāĻž.

āĻļā§‡āĻˇ āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤, āĻ†āĻŽāĻ°āĻž āĻŦāĻŋāĻšā§āĻ›āĻŋāĻ¨ā§āĻ¨āĻ­āĻžāĻŦā§‡ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻŸāĻŋ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŋāĻĻā§āĻ§āĻžāĻ¨ā§āĻ¤ āĻ¨āĻŋāĻ¯āĻŧā§‡āĻ›āĻŋ: āĻ†āĻŽāĻžāĻ•ā§‡ āĻ¸āĻŦāĻ•āĻŋāĻ›ā§ āĻĻāĻŋāĻ¨ urls āĻ¯ā§‡ āĻ˛āĻžāĻ‡āĻ¨āĻ—ā§āĻ˛āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ URL āĻĒā§āĻ¯āĻžāĻŸāĻžāĻ°ā§āĻ¨ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻŽā§‡āĻ˛ā§‡āĨ¤ āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻļāĻ°ā§āĻ¤ āĻ›āĻžāĻĄāĻŧāĻž āĻāĻŸāĻŋ āĻšāĻŦā§‡ - 

SELECT urls.url
FROM 
	acc_{account_id}.urls as urls,
	(SELECT unnest(recording_data.urls) AS id) AS unrolled_urls
WHERE
	urls.id = unrolled_urls.id AND
	urls.url  ILIKE  '%jobs%'

āĻāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§‡ JOIN āĻ¸āĻŋāĻ¨āĻŸā§āĻ¯āĻžāĻ•ā§āĻ¸ āĻ†āĻŽāĻŋ āĻļā§āĻ§ā§ āĻāĻ•āĻŸāĻŋ āĻ¸āĻžāĻŦāĻ•ā§‹āĻ¯āĻŧā§‡āĻ°āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡āĻ›āĻŋ āĻāĻŦāĻ‚ āĻĒā§āĻ°āĻ¸āĻžāĻ°āĻŋāĻ¤ āĻ•āĻ°ā§‡āĻ›āĻŋ recording_data.urls āĻ…ā§āĻ¯āĻžāĻ°ā§‡ āĻ¯āĻžāĻ¤ā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻļāĻ°ā§āĻ¤āĻŸāĻŋ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ— āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ WHERE.

āĻāĻ–āĻžāĻ¨ā§‡ āĻ¸āĻŦāĻšā§‡āĻ¯āĻŧā§‡ āĻ—ā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖ āĻŦāĻŋāĻˇāĻ¯āĻŧ āĻšāĻ˛ āĻ¯ā§‡ && āĻĒā§āĻ°āĻĻāĻ¤ā§āĻ¤ āĻāĻ¨ā§āĻŸā§āĻ°āĻŋāĻ¤ā§‡ āĻāĻ•āĻŸāĻŋ āĻŽāĻŋāĻ˛ āĻ‡āĻ‰āĻ†āĻ°āĻāĻ˛ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĻ•āĻŋāĻ¨āĻž āĻ¤āĻž āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻ¤ā§‡ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻšāĻ¯āĻŧāĨ¤ āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻāĻ•āĻŸā§ squint, āĻ†āĻĒāĻ¨āĻŋ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ āĻāĻ‡ āĻ…āĻĒāĻžāĻ°ā§‡āĻļāĻ¨ āĻāĻ•āĻŸāĻŋ āĻ…ā§āĻ¯āĻžāĻ°ā§‡āĻ° āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨ (āĻŦāĻž āĻāĻ•āĻŸāĻŋ āĻŸā§‡āĻŦāĻŋāĻ˛ā§‡āĻ° āĻ¸āĻžāĻ°āĻŋ) āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ¸āĻ°āĻžāĻ¨ā§‹ āĻāĻŦāĻ‚ āĻāĻ•āĻŸāĻŋ āĻļāĻ°ā§āĻ¤ (āĻŽā§āĻ¯āĻžāĻš) āĻĒā§‚āĻ°āĻŖ āĻšāĻ˛ā§‡ āĻŦāĻ¨ā§āĻ§ āĻšāĻ¯āĻŧ. āĻ•āĻŋāĻ›ā§ āĻŽāĻ¨ā§‡ āĻ•āĻ°āĻŋāĻ¯āĻŧā§‡ āĻĻā§‡āĻ¯āĻŧ āĻ¨āĻž? āĻšā§āĻ¯āĻžāĻ, EXISTS.

āĻĨā§‡āĻ•ā§‡ recording_data.urls āĻ¸āĻžāĻŦāĻ•ā§‹āĻ¯āĻŧā§‡āĻ°āĻŋ āĻĒā§āĻ°āĻ¸āĻ™ā§āĻ—ā§‡āĻ° āĻŦāĻžāĻ‡āĻ°ā§‡ āĻĨā§‡āĻ•ā§‡ āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ– āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡, āĻ¯āĻ–āĻ¨ āĻāĻŸāĻŋ āĻ˜āĻŸā§‡ āĻ¤āĻ–āĻ¨ āĻ†āĻŽāĻ°āĻž āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻĒā§āĻ°āĻžāĻ¨ā§‹ āĻŦāĻ¨ā§āĻ§ā§āĻ° āĻĻāĻŋāĻ•ā§‡ āĻĢāĻŋāĻ°ā§‡ āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋ EXISTS āĻāĻŦāĻ‚ āĻāĻŸāĻŋ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻ¸āĻžāĻŦāĻ•ā§āĻ¯āĻŧā§‡āĻ°āĻŋ āĻŽā§‹āĻĄāĻŧāĻžāĻ¨ā§‹āĨ¤

āĻ¸āĻŦāĻ•āĻŋāĻ›ā§ āĻāĻ•āĻ¸āĻžāĻĨā§‡ āĻ°ā§‡āĻ–ā§‡, āĻ†āĻŽāĻ°āĻž āĻšā§‚āĻĄāĻŧāĻžāĻ¨ā§āĻ¤ āĻ…āĻĒā§āĻŸāĻŋāĻŽāĻžāĻ‡āĻœ āĻ•āĻ°āĻž āĻĒā§āĻ°āĻļā§āĻ¨āĻŸāĻŋ āĻĒāĻžāĻ‡:

SELECT 
    count(*) 
FROM 
    acc_{account_id}.urls as recordings_urls, 
    acc_{account_id}.recording_data as recording_data, 
    acc_{account_id}.sessions as sessions 
WHERE 
    recording_data.usp_id = sessions.usp_id 
    AND  (  1 = 1  )  
    AND sessions.referrer_id = recordings_urls.id 
    AND r_time > to_timestamp(1542585600) 
    AND r_time < to_timestamp(1545177599) 
    AND recording_data.duration >=5 
    AND recording_data.num_of_pages > 0
    AND EXISTS(
        SELECT urls.url
        FROM 
            acc_{account_id}.urls as urls,
            (SELECT unnest(urls) AS rec_url_id FROM acc_{account_id}.recording_data) 
            AS unrolled_urls
        WHERE
            urls.id = unrolled_urls.rec_url_id AND
            urls.url  ILIKE  '%enterprise_customer.com/jobs%'
    );

āĻāĻŦāĻ‚ āĻšā§‚āĻĄāĻŧāĻžāĻ¨ā§āĻ¤ āĻ˛āĻŋāĻĄ āĻ¸āĻŽāĻ¯āĻŧ Time: 1898.717 ms āĻ‰āĻĻāĻ¯āĻžāĻĒāĻ¨ā§‡āĻ° āĻ¸āĻŽāĻ¯āĻŧ?!?

āĻāĻ¤ āĻĻā§āĻ°ā§āĻ¤ āĻ¨āĻž! āĻĒā§āĻ°āĻĨāĻŽā§‡ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ¸āĻ āĻŋāĻ•āĻ¤āĻž āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤ āĻ†āĻŽāĻŋ āĻ…āĻ¤ā§āĻ¯āĻ¨ā§āĻ¤ āĻ¸āĻ¨ā§āĻĻā§‡āĻšāĻœāĻ¨āĻ• āĻ›āĻŋāĻ˛ EXISTS āĻ…āĻĒā§āĻŸāĻŋāĻŽāĻžāĻ‡āĻœā§‡āĻļāĻžāĻ¨ āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻāĻŸāĻŋ āĻ˛āĻœāĻŋāĻ•āĻ•ā§‡ āĻ†āĻ—ā§‡ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°ā§‡āĨ¤ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ¨āĻŋāĻļā§āĻšāĻŋāĻ¤ āĻšāĻ“āĻ¯āĻŧāĻž āĻĻāĻ°āĻ•āĻžāĻ° āĻ¯ā§‡ āĻ†āĻŽāĻ°āĻž āĻ…āĻ¨ā§āĻ°ā§‹āĻ§ā§‡ āĻāĻ•āĻŸāĻŋ āĻ…-āĻ¸ā§āĻĒāĻˇā§āĻŸ āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻŋāĻ¨āĻŋāĨ¤

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

āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ§āĻžāĻ°āĻžāĻŦāĻžāĻšāĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻ‡āĻ¤āĻŋāĻŦāĻžāĻšāĻ• āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻĻāĻŋāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻ†āĻŽāĻ°āĻž āĻ¸āĻŦāĻ•āĻŋāĻ›ā§ āĻ āĻŋāĻ• āĻ•āĻ°ā§‡āĻ›āĻŋ!

āĻĒāĻžāĻ  āĻļāĻŋāĻ–ā§‡āĻ›āĻŋ

āĻāĻ‡ āĻ—āĻ˛ā§āĻĒ āĻĨā§‡āĻ•ā§‡ āĻ…āĻ¨ā§‡āĻ• āĻļāĻŋāĻ•ā§āĻˇāĻž āĻ†āĻ›ā§‡:

  1. āĻ•ā§āĻ¯ā§‹āĻ¯āĻŧāĻžāĻ°ā§€ āĻĒā§āĻ˛ā§āĻ¯āĻžāĻ¨ āĻĒā§āĻ°ā§‹ āĻ—āĻ˛ā§āĻĒ āĻŦāĻ˛ā§‡ āĻ¨āĻž, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ¤āĻžāĻ°āĻž āĻ¸ā§‚āĻ¤ā§āĻ° āĻĻāĻŋāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡
  2. āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻ¸āĻ¨ā§āĻĻā§‡āĻšāĻ­āĻžāĻœāĻ¨āĻ°āĻž āĻ¸āĻŦāĻ¸āĻŽāĻ¯āĻŧ āĻĒā§āĻ°āĻ•ā§ƒāĻ¤ āĻ…āĻĒāĻ°āĻžāĻ§ā§€ āĻšāĻ¯āĻŧ āĻ¨āĻž
  3. āĻŦāĻžāĻ§āĻž āĻŦāĻŋāĻšā§āĻ›āĻŋāĻ¨ā§āĻ¨ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ§ā§€āĻ°āĻ—āĻ¤āĻŋāĻ° āĻĒā§āĻ°āĻļā§āĻ¨āĻ—ā§āĻ˛āĻŋ āĻ­ā§‡āĻ™ā§‡ āĻĻā§‡āĻ“āĻ¯āĻŧāĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡
  4. āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ…āĻĒā§āĻŸāĻŋāĻŽāĻžāĻ‡āĻœā§‡āĻļāĻ¨ āĻĒā§āĻ°āĻ•ā§ƒāĻ¤āĻŋāĻ¤ā§‡ āĻšā§āĻ°āĻžāĻ¸āĻŽā§‚āĻ˛āĻ• āĻ¨āĻ¯āĻŧ
  5. āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§‡āĻ° EXIST, āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ¸āĻŽā§āĻ­āĻŦ, āĻ‰āĻ¤ā§āĻĒāĻžāĻĻāĻ¨āĻļā§€āĻ˛āĻ¤āĻž āĻ¨āĻžāĻŸāĻ•ā§€āĻ¯āĻŧ āĻŦā§ƒāĻĻā§āĻ§āĻŋ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡

āĻ‰āĻĒāĻ¸āĻ‚āĻšāĻžāĻ°

āĻ†āĻŽāĻ°āĻž ~24 āĻŽāĻŋāĻ¨āĻŋāĻŸ āĻĨā§‡āĻ•ā§‡ 2 āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ•ā§āĻ¯ā§‹āĻ¯āĻŧāĻžāĻ°ā§€ āĻ¸āĻŽāĻ¯āĻŧ āĻšāĻ˛ā§‡āĻ›āĻŋ - āĻŦā§‡āĻļ āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ–āĻ¯ā§‹āĻ—ā§āĻ¯ āĻ•āĻ°ā§āĻŽāĻ•ā§āĻˇāĻŽāĻ¤āĻž āĻŦā§ƒāĻĻā§āĻ§āĻŋ! āĻ¯āĻĻāĻŋāĻ“ āĻāĻ‡ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻŸāĻŋ āĻŦāĻĄāĻŧ āĻ†āĻ•āĻžāĻ°ā§‡ āĻĒā§āĻ°āĻ•āĻžāĻļāĻŋāĻ¤ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, āĻ†āĻŽāĻ°āĻž āĻ¯ā§‡ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž-āĻ¨āĻŋāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°ā§‡āĻ›āĻŋāĻ˛āĻžāĻŽ āĻ¤āĻž āĻāĻ•āĻĻāĻŋāĻ¨ā§‡ āĻ˜āĻŸā§‡āĻ›āĻŋāĻ˛ āĻāĻŦāĻ‚ āĻ…āĻ¨ā§āĻŽāĻžāĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛ āĻ¯ā§‡ āĻ¤āĻžāĻ°āĻž āĻ…āĻĒā§āĻŸāĻŋāĻŽāĻžāĻ‡āĻœā§‡āĻļāĻ¨ āĻāĻŦāĻ‚ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻœāĻ¨ā§āĻ¯ 1,5 āĻĨā§‡āĻ•ā§‡ 2 āĻ˜āĻ¨ā§āĻŸāĻž āĻ¸āĻŽāĻ¯āĻŧ āĻ¨āĻŋāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤

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

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

āĻŦāĻŋāĻļā§‡āĻˇ āĻ§āĻ¨ā§āĻ¯āĻŦāĻžāĻĻ āĻ†āĻŽāĻžāĻ° āĻ•āĻŽāĻ°ā§‡āĻĄāĻ°āĻž āĻ†āĻĻāĻŋāĻ¤ā§āĻ¯ āĻŽāĻŋāĻļā§āĻ°ā§‡āĻ° āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļā§‡āĻ†āĻĻāĻŋāĻ¤ā§āĻ¯ āĻ—ā§ŒāĻ°ā§ Đ¸ āĻŦāĻ°ā§āĻŖ āĻŽāĻžāĻ˛āĻšā§‹āĻ¤ā§āĻ°āĻž āĻŦā§āĻĻā§āĻ§āĻŋāĻŽāĻ¤ā§āĻ¤āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻŦāĻ‚ āĻĻāĻŋāĻ¨āĻ•āĻ° āĻĒāĻŖā§āĻĄāĻŋāĻ° āĻ†āĻŽāĻ°āĻž āĻļā§‡āĻˇ āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻŦāĻŋāĻĻāĻžāĻ¯āĻŧ āĻœāĻžāĻ¨āĻžāĻ¨ā§‹āĻ° āĻ†āĻ—ā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻšā§‚āĻĄāĻŧāĻžāĻ¨ā§āĻ¤ āĻ…āĻ¨ā§āĻ°ā§‹āĻ§ā§‡ āĻāĻ•āĻŸāĻŋ āĻ—ā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖ āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻ–ā§āĻāĻœā§‡ āĻĒāĻžāĻ“āĻ¯āĻŧāĻžāĻ° āĻœāĻ¨ā§āĻ¯!

āĻ‰āĻ¤ā§āĻ¸: www.habr.com

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