By using db<>fiddle, you agree to license everything you submit by Creative Commons CC0.
Help with an interesting Postgres question: Why isn't an Index Only Scan used on a partition accessed via the parent table?.
version |
---|
PostgreSQL 14.1 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 8.5.0 20210514 (Red Hat 8.5.0-4), 64-bit |
2 rows affected
user_id |
---|
user1 |
user2 |
3 rows affected
course_id |
---|
course1 |
course2 |
course3 |
2 rows affected
enrollment_id | course_id | user_id |
---|---|---|
enrollment1 | course1 | user2 |
enrollment2 | course2 | user2 |
enrollment_id | course_id | user_id | course_id | user_id |
---|---|---|---|---|
enrollment1 | course1 | user2 | course1 | user2 |
enrollment2 | course2 | user2 | course2 | user2 |
enrollment_id | course_id | user_id | course_id | user_id |
---|---|---|---|---|
null | null | null | null | user1 |
enrollment1 | course1 | user2 | course1 | user2 |
enrollment2 | course2 | user2 | course2 | user2 |
null | null | null | course3 | null |
enrollment_id | course_id | user_id | course_id | user_id |
---|---|---|---|---|
enrollment1 | course1 | user2 | course1 | user1 |
enrollment1 | course1 | user2 | course1 | user2 |
enrollment2 | course2 | user2 | course1 | user1 |
enrollment2 | course2 | user2 | course1 | user2 |
enrollment1 | course1 | user2 | course2 | user1 |
enrollment1 | course1 | user2 | course2 | user2 |
enrollment2 | course2 | user2 | course2 | user1 |
enrollment2 | course2 | user2 | course2 | user2 |
enrollment1 | course1 | user2 | course3 | user1 |
enrollment1 | course1 | user2 | course3 | user2 |
enrollment2 | course2 | user2 | course3 | user1 |
enrollment2 | course2 | user2 | course3 | user2 |
user_id | course_id |
---|---|
user1 | course1 |
user1 | course2 |
user1 | course3 |
user2 | course1 |
user2 | course2 |
user2 | course3 |
user_id | course_id |
---|---|
user1 | course1 |
user1 | course2 |
user1 | course3 |
user2 | course1 |
user2 | course2 |
user2 | course3 |
user_id | course_id | enrollment_id |
---|---|---|
user1 | course1 | null |
user1 | course2 | null |
user1 | course3 | null |
user2 | course1 | enrollment1 |
user2 | course2 | enrollment2 |
user2 | course3 | null |