Sobes.tech
Senior

Δεδομένου ότι ένας αναλυτής έχει γράψει ένα ερώτημα SQL. Εντοπίστε τις αναποτελεσματικότητες στο ερώτημα και προτείνετε πώς να τις αποφύγετε. Το ερώτημα ενώνει δύο πίνακες: - πίνακας γεγονότων 'events' με κλειδί 'event_id' - πίνακας αναφοράς πηγής κυκλοφορίας με κλειδί 'referer_str' Και οι δύο πίνακες περιέχουν δισεκατομμύρια εγγραφές. select * from (select distinct e.event_id, e.user_id, e.category_id, e.location_id, s.source_name, s.medium_name, s.campaign_name, row_number() over(partition by e.event_id, e.user_id, e.category_id, e.location_id, s.source_name, s.medium_name, s.campaign_name) as rnk from events e left join traffic_source s on e.referer_str = s.referer_str where e.event_date = current_date() - 1 group by 1,2,3,4,5,6,7) t where rnk = 1