## Bug description

Currently, decide endpoint takes 10+ seconds on kea.js.org.

This means that for first-time visitors autocapture nor session recording will be turned on for that long - losing valuable information.

When measuring this yesterday via shell ([slack thread](https://posthog.slack.com/archives/C0113360FFV/p1604951621008400)), the culprit was feature flags cohort checking. In this case, the cohort user was checked against was defined against the following action:

![Screenshot from 2020-11-10 11-41-32](https://user-images.githubusercontent.com/148820/98657215-49582e80-234a-11eb-9669-37d55e0d23bd.png)

Which currently looks through events of the data for that team.

## Expected behavior

Decide endpoint should use cached/materialized cohort ownership rather than calculating it on the fly.

## How to reproduce

1. Create an action with some selector
2. Create a cohort for has done action at any point
3. Create a feature flag using the cohort.
4. Measure /decide endpoint latency

## Environment

Cloud 

## Additional context

cc @EDsCODE who made it not time out by https://github.com/PostHog/posthog/pull/2299

#### *Thank you* for your bug report – we love squashing them!
ee/clickhouse/sql/person.py
""".format(
    latest_person_sql=GET_LATEST_PERSON_SQL, distinct_query="{distinct_query}"
)
GET_PERSONS_BY_DISTINCT_IDS = """
SELECT 
    p.id,
    p.created_at,
    p.team_id,
    p.properties,
    p.is_identified,
    groupArray(pid.distinct_id) as distinct_ids
FROM 
    person as p 
INNER JOIN 
    person_distinct_id as pid on p.id = pid.person_id 
WHERE 
    team_id = %(team_id)s 
    AND distinct_id IN (%(distinct_ids)s)
GROUP BY
    p.id,
    p.created_at,
    p.team_id,
    p.properties,
    p.is_identified
"""
PERSON_DISTINCT_ID_EXISTS_SQL = """
SELECT count(*) FROM person_distinct_id
inner join (
    SELECT arrayJoin({}) as distinct_id
    ) as id_params ON id_params.distinct_id = person_distinct_id.distinct_id