"UpdateUpdate on pages (cost=65108.49..1545071.72 rows=4037902 width=331) (actual time=48181951.584..48181951.584 rows=0 loops=1)"
" -> Hash Join (cost=65108.49..1545071.72 rows=4037902 width=331) (actual time=4075.973..1200902.835 rows=1909499 loops=1)"
" Hash Cond: ((pages."urlShort")::text = sites.url)"
" -> Seq Scan on pages (cost=0.00..1056057.95 rows=4037902 width=317) (actual time=0.025..456909.895 rows=2053904 loops=1)"
" Filter: ((id_site IS NULL) AND ("labelDate" < '2015-09-01'::date))"
" Rows Removed by Filter: 12105346"12105346
" -> Hash (cost=30907.66..30907.66 rows=1606466 width=41) (actual time=4061.106..4061.106 rows=1606489 loops=1)"
" Buckets: 2097152 Batches: 2 Memory Usage: 74179kB"74179kB
" -> Seq Scan on sites (cost=0.00..30907.66 rows=1606466 width=41) (actual time=0.024..869.068 rows=1606489 loops=1)"
"PlanningPlanning time: 3.767 ms"ms
"ExecutionExecution time: 48181966.394 ms"ms
Bumped by Community user | |||
Bumped by Community user | |||
Bumped by Community user | |||
Bumped by Community user | |||
5 | deleted 20 characters in body | ||
|
|||
Bumped by Community user | |||
Bumped by Community user | |||
4 | Added detailed statistics. | ||
Based on some help in the past on related subjects I decidedThere are two things I'd like to compare this with a similar query that used a correlated subquery instead of a join.know:
Here's the output from running
This query only takes about 15s to run and has the following query plan:
There are two things I'd likeI've tried different memory settings (from 128MB to know:1024MB shared_buffers) but they don't seem to make much difference.
Based on some help in the past on related subjects I decided to compare this with a similar query that used a correlated subquery instead of a join.
This query only takes about 15s to run and has the following query plan:
There are two things I'd like to know:
There are two things I'd like to know:
Here's the output from running
I've tried different memory settings (from 128MB to 1024MB shared_buffers) but they don't seem to make much difference. |
|||
3 | added 37 characters in body | ||
I've started workworking on adapting the import logic to work with a more normalised schema – no surprises here it's faster and more compact – but I've hit a roadblock updating the existing data: adding and updating with relevant foreign keys is taking an age.
NB pages."urlShort" There are around 500,000 rows for each date value and updates like this are taking around 2h302.5 hours. :-(
There are two things I'd like to know: 1) Can adjust the update to run faster based on the above? 2) What parts of the query plan are telltales for running slow? Or do you always have to run EXPLAIN ANALYZE to findout?
I've started work on adapting the import logic to work with a more normalised schema – no surprises here it's faster and more compact – but I've hit a roadblock updating the existing data: adding and updating with relevant foreign keys is taking an age.
NB pages."urlShort" and sites.url are textfields, both are indexed but currently have no explicit relationship. There are around 500,000 rows for each date value and updates like this are taking around 2h30. :-(
There are two things I'd like to know: 1) Can adjust the update to run faster based on the above? 2) What parts of the query plan are telltales for running slow? Or do you always have to run EXPLAIN ANALYZE to findout? I've started working on adapting the import logic to work with a more normalised schema – no surprises here it's faster and more compact – but I've hit a roadblock updating the existing data: adding and updating with relevant foreign keys is taking an age.
NB There are around 500,000 rows for each date value and updates like this are taking around 2.5 hours. :-(
There are two things I'd like to know:
|
|||
2 | Corrected query and query plan. | ||
1 | |||