Re: Apparent missed query optimization with self-join and inner grouping

2020-08-01 Thread Tom Lane
Zack Weinberg writes: > For each (experiment_id, url_id) pair for some small subset of the > experiment_ids, I need to query the full_url_id corresponding to the > *largest* value of redirect_num. The query planner does something > reasonable with this SELECT: > => explain (analyze, verbose) >

Re: Apparent missed query optimization with self-join and inner grouping

2020-08-01 Thread Michael Lewis
Subqueries are evaluated separately when they include an aggregate or window function as I understand it. I agree that it would be helpful in your case if that outside qual was pushed inside. I assume this query is generated by an ORM and you don't just have the option to simply change it?

Apparent missed query optimization with self-join and inner grouping

2020-07-31 Thread Zack Weinberg
I have a table recording the results of a web crawl. (Table definition at the end of this message.) The relevant part of the data stored in it looks like this: id | url_id | full_url_id | experiment_id | redirect_num --++-+---+-- 2617 | 1312