āĻāĻ¤ āĻĄāĻŋāĻ¸ā§āĻŽā§āĻŦāĻ°ā§ āĻāĻŽāĻŋ 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
āĻ¤āĻŋāĻ¨āĻāĻŋ āĻā§āĻŦāĻŋāĻ˛:
- āĻ¸ā§āĻļāĻ¨: āĻ¸ā§āĻļāĻ¨ āĻ¤āĻĨā§āĻ¯ āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻ¨ āĻāĻ°āĻ¤ā§: āĻŦā§āĻ°āĻžāĻāĻāĻžāĻ°, āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§ āĻāĻā§āĻ¨ā§āĻ, āĻĻā§āĻļ, āĻāĻŦāĻ āĻ¤āĻžāĻāĨ¤
- āĻ°ā§āĻāĻ°ā§āĻĄāĻŋāĻ_āĻĄā§āĻāĻž: āĻ°ā§āĻāĻ°ā§āĻĄ āĻāĻ°āĻž URL, āĻĒā§āĻˇā§āĻ āĻž, āĻĒāĻ°āĻŋāĻĻāĻ°ā§āĻļāĻ¨ā§āĻ° āĻ¸āĻŽāĻ¯āĻŧāĻāĻžāĻ˛
- 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(*)
āĻĒā§āĻ°āĻā§āĻ° āĻĒāĻ°āĻŋāĻŽāĻžāĻŖā§ āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻĄā§āĻāĻž āĻ¸ā§āĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ§ā§āĻ° āĻāĻŦāĻ āĻĻā§āĻ°ā§āĻ¤ āĻāĻāĻ¯āĻŧ āĻĒā§āĻ°āĻļā§āĻ¨ā§āĻāĨ¤ āĻ¤āĻžāĻ°āĻĒāĻ°, āĻĄā§āĻāĻžāĻ° āĻāĻāĻāĻŋ āĻā§āĻ āĻāĻĒāĻ¸ā§āĻā§āĻ° āĻāĻ¨ā§āĻ¯, āĻāĻŽāĻŋ āĻ¨āĻŋāĻā§ āĻ¯āĻžāĻāĻžāĻ āĻāĻ°ā§āĻāĻŋ āĻ¯ā§ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻ¸āĻ āĻŋāĻ āĻāĻŋāĻ˛āĨ¤
āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻ§āĻžāĻ°āĻžāĻŦāĻžāĻšāĻŋāĻāĻāĻžāĻŦā§ āĻāĻ¤āĻŋāĻŦāĻžāĻāĻ āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻĻāĻŋāĻ¯āĻŧā§āĻā§āĨ¤ āĻāĻŽāĻ°āĻž āĻ¸āĻŦāĻāĻŋāĻā§ āĻ āĻŋāĻ āĻāĻ°ā§āĻāĻŋ!
āĻĒāĻžāĻ āĻļāĻŋāĻā§āĻāĻŋ
āĻāĻ āĻāĻ˛ā§āĻĒ āĻĨā§āĻā§ āĻ āĻ¨ā§āĻ āĻļāĻŋāĻā§āĻˇāĻž āĻāĻā§:
- āĻā§āĻ¯ā§āĻ¯āĻŧāĻžāĻ°ā§ āĻĒā§āĻ˛ā§āĻ¯āĻžāĻ¨ āĻĒā§āĻ°ā§ āĻāĻ˛ā§āĻĒ āĻŦāĻ˛ā§ āĻ¨āĻž, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻ¤āĻžāĻ°āĻž āĻ¸ā§āĻ¤ā§āĻ° āĻĻāĻŋāĻ¤ā§ āĻĒāĻžāĻ°ā§
- āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻ¸āĻ¨ā§āĻĻā§āĻšāĻāĻžāĻāĻ¨āĻ°āĻž āĻ¸āĻŦāĻ¸āĻŽāĻ¯āĻŧ āĻĒā§āĻ°āĻā§āĻ¤ āĻ āĻĒāĻ°āĻžāĻ§ā§ āĻšāĻ¯āĻŧ āĻ¨āĻž
- āĻŦāĻžāĻ§āĻž āĻŦāĻŋāĻā§āĻāĻŋāĻ¨ā§āĻ¨ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻ§ā§āĻ°āĻāĻ¤āĻŋāĻ° āĻĒā§āĻ°āĻļā§āĻ¨āĻā§āĻ˛āĻŋ āĻā§āĻā§ āĻĻā§āĻāĻ¯āĻŧāĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§
- āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ āĻĒā§āĻāĻŋāĻŽāĻžāĻāĻā§āĻļāĻ¨ āĻĒā§āĻ°āĻā§āĻ¤āĻŋāĻ¤ā§ āĻšā§āĻ°āĻžāĻ¸āĻŽā§āĻ˛āĻ āĻ¨āĻ¯āĻŧ
- āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§āĻ°
EXIST
, āĻ¯ā§āĻāĻžāĻ¨ā§ āĻ¸āĻŽā§āĻāĻŦ, āĻāĻ¤ā§āĻĒāĻžāĻĻāĻ¨āĻļā§āĻ˛āĻ¤āĻž āĻ¨āĻžāĻāĻā§āĻ¯āĻŧ āĻŦā§āĻĻā§āĻ§āĻŋ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§
āĻāĻĒāĻ¸āĻāĻšāĻžāĻ°
āĻāĻŽāĻ°āĻž ~24 āĻŽāĻŋāĻ¨āĻŋāĻ āĻĨā§āĻā§ 2 āĻ¸ā§āĻā§āĻ¨ā§āĻĄā§āĻ° āĻāĻāĻāĻŋ āĻā§āĻ¯ā§āĻ¯āĻŧāĻžāĻ°ā§ āĻ¸āĻŽāĻ¯āĻŧ āĻāĻ˛ā§āĻāĻŋ - āĻŦā§āĻļ āĻāĻ˛ā§āĻ˛ā§āĻāĻ¯ā§āĻā§āĻ¯ āĻāĻ°ā§āĻŽāĻā§āĻˇāĻŽāĻ¤āĻž āĻŦā§āĻĻā§āĻ§āĻŋ! āĻ¯āĻĻāĻŋāĻ āĻāĻ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻāĻŋ āĻŦāĻĄāĻŧ āĻāĻāĻžāĻ°ā§ āĻĒā§āĻ°āĻāĻžāĻļāĻŋāĻ¤ āĻšāĻ¯āĻŧā§āĻā§, āĻāĻŽāĻ°āĻž āĻ¯ā§ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒāĻ°ā§āĻā§āĻˇāĻž-āĻ¨āĻŋāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°ā§āĻāĻŋāĻ˛āĻžāĻŽ āĻ¤āĻž āĻāĻāĻĻāĻŋāĻ¨ā§ āĻāĻā§āĻāĻŋāĻ˛ āĻāĻŦāĻ āĻ āĻ¨ā§āĻŽāĻžāĻ¨ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛ āĻ¯ā§ āĻ¤āĻžāĻ°āĻž āĻ āĻĒā§āĻāĻŋāĻŽāĻžāĻāĻā§āĻļāĻ¨ āĻāĻŦāĻ āĻĒāĻ°ā§āĻā§āĻˇāĻžāĻ° āĻāĻ¨ā§āĻ¯ 1,5 āĻĨā§āĻā§ 2 āĻāĻ¨ā§āĻāĻž āĻ¸āĻŽāĻ¯āĻŧ āĻ¨āĻŋāĻ¯āĻŧā§āĻā§āĨ¤
āĻāĻ¸āĻāĻŋāĻāĻāĻ˛ āĻāĻāĻāĻŋ āĻĻā§āĻ°ā§āĻĻāĻžāĻ¨ā§āĻ¤ āĻāĻžāĻˇāĻž āĻ¯āĻĻāĻŋ āĻāĻĒāĻ¨āĻŋ āĻāĻāĻŋāĻā§ āĻāĻ¯āĻŧ āĻ¨āĻž āĻĒāĻžāĻ¨ āĻ¤āĻŦā§ āĻāĻāĻŋ āĻļāĻŋāĻāĻ¤ā§ āĻāĻŦāĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻžāĻ° āĻā§āĻˇā§āĻāĻž āĻāĻ°ā§āĻ¨āĨ¤ āĻāĻ¸āĻāĻŋāĻāĻāĻ˛ āĻā§āĻ¯āĻŧā§āĻ°āĻŋāĻā§āĻ˛āĻŋ āĻā§āĻāĻžāĻŦā§ āĻāĻžāĻ°ā§āĻ¯āĻāĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧ, āĻĄāĻžāĻāĻžāĻŦā§āĻ¸ āĻā§āĻāĻžāĻŦā§ āĻā§āĻ¯āĻŧā§āĻ°āĻŋ āĻĒāĻ°āĻŋāĻāĻ˛ā§āĻĒāĻ¨āĻž āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§, āĻā§āĻāĻžāĻŦā§ āĻ¸ā§āĻāĻāĻā§āĻ˛āĻŋ āĻāĻžāĻ āĻāĻ°ā§ āĻāĻŦāĻ āĻāĻĒāĻ¨āĻŋ āĻ¯ā§ āĻĄā§āĻāĻžāĻ° āĻ¸āĻžāĻĨā§ āĻāĻžāĻ āĻāĻ°āĻā§āĻ¨ āĻ¤āĻžāĻ° āĻāĻāĻžāĻ° āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻāĻžāĻ˛ āĻŦā§āĻāĻžāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§, āĻāĻĒāĻ¨āĻŋ āĻā§āĻ¯āĻŧā§āĻ°āĻŋāĻā§āĻ˛āĻŋ āĻ āĻĒā§āĻāĻŋāĻŽāĻžāĻāĻ āĻāĻ°āĻžāĻ° āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻā§āĻŦ āĻ¸āĻĢāĻ˛ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤ āĻāĻāĻŋ āĻ¸āĻŽāĻžāĻ¨ āĻā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§āĻ°ā§āĻŖ, āĻ¤āĻŦā§, āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ° āĻā§āĻˇā§āĻāĻž āĻāĻžāĻ˛āĻŋāĻ¯āĻŧā§ āĻ¯āĻžāĻāĻ¯āĻŧāĻž āĻāĻŦāĻ āĻ§ā§āĻ°ā§ āĻ§ā§āĻ°ā§ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻāĻŋ āĻā§āĻā§ āĻĢā§āĻ˛āĻž, āĻŦāĻžāĻ§āĻžāĻā§āĻ˛āĻŋ āĻā§āĻāĻā§ āĻŦā§āĻ° āĻāĻ°āĻžāĨ¤
āĻāĻ āĻ§āĻ°āĻ¨ā§āĻ° āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻ āĻ°ā§āĻāĻ¨ā§āĻ° āĻ¸āĻŦāĻā§āĻ¯āĻŧā§ āĻāĻžāĻ˛ā§ āĻĻāĻŋāĻāĻāĻŋ āĻšāĻ˛ āĻ˛āĻā§āĻˇāĻŖā§āĻ¯āĻŧ, āĻĻā§āĻļā§āĻ¯āĻŽāĻžāĻ¨ āĻāĻ¤āĻŋāĻ° āĻāĻ¨ā§āĻ¨āĻ¤āĻŋ - āĻ¯ā§āĻāĻžāĻ¨ā§ āĻāĻāĻāĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻŦā§āĻĻāĻ¨ āĻ¯āĻž āĻāĻā§ āĻ˛ā§āĻĄ āĻšāĻ¤ā§ āĻ¨āĻž āĻāĻāĻ¨ āĻĒā§āĻ°āĻžāĻ¯āĻŧ āĻ¤āĻžā§āĻā§āĻˇāĻŖāĻŋāĻāĻāĻžāĻŦā§ āĻ˛ā§āĻĄ āĻšāĻ¯āĻŧāĨ¤
āĻŦāĻŋāĻļā§āĻˇ āĻ§āĻ¨ā§āĻ¯āĻŦāĻžāĻĻ āĻāĻŽāĻžāĻ° āĻāĻŽāĻ°ā§āĻĄāĻ°āĻž āĻāĻĻāĻŋāĻ¤ā§āĻ¯ āĻŽāĻŋāĻļā§āĻ°ā§āĻ° āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļā§, āĻāĻĻāĻŋāĻ¤ā§āĻ¯ āĻā§āĻ°ā§ и
āĻāĻ¤ā§āĻ¸: www.habr.com