## Is your feature request related to a problem?

If you have a trend with multiple lines, clickhouse queries for each are run one-after-another. If each takes 10s to calculate, then user will need to wait >30s in total.

## Describe the solution you'd like

Run queries in parallel.

## Describe alternatives you've considered

## Additional context

cc @EDsCODE @neilkakkar This seems like a quick win query-api wise though not 100% sure on how best implement this. Would you be up for prioritizing this _next_ sprint?

#### *Thank you* for your feature request – we love each and every one!

ee/clickhouse/queries/trends/clickhouse_trends.py
def _set_default_dates(self, filter: Filter, team_id: int) -> Filter:
        data = {}
        if not filter._date_from:
            data.update({"date_from": relative_date_parse("-7d")})
        if not filter._date_to:
            data.update({"date_to": timezone.now()})
        if data:
            return Filter(data={**filter._data, **data})
        return filter
    def _get_sql_for_entity(self, filter: Filter, entity: Entity, team_id: int) -> Tuple[str, Dict, Callable]:
        if filter.breakdown:
            sql, params, parse_function = ClickhouseTrendsBreakdown(entity, filter, team_id).get_query()
        elif filter.shown_as == TRENDS_LIFECYCLE:
            sql, params, parse_function = self._format_lifecycle_query(entity, filter, team_id)
        else:
            sql, params, parse_function = self._total_volume_query(entity, filter, team_id)
        return sql, params, parse_function
    def _run_query(self, filter: Filter, entity: Entity, team_id: int) -> List[Dict[str, Any]]: