|
SSD диск для temp_tablespaces
#38558394
Ссылка:
Ссылка на сообщение:
Ссылка с названием темы:
|
|
|
|
Приношу всем извинения, что я "перекрылся". Особенно Maxim'у
В настоящее время собираю все данные в одной таблице по дням - стало сильно лучше, но похожей жести хватает. Поэтому привожу логи какие были и буду рад услышать Ваши замечанич, предложения.
Вот что было:
лог во вложении:
и план запроса из лога:
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50.
SELECT "olap_availability"."olap_availability0_0" AS "olap_availability0_0","olap_availability"."olap_availabilityhotel_weight0_1" AS "olap_availabilityhotel_weight0_1","olap_availability"."olap_availabilityregion_weight0_2" AS "olap_availabilityregion_weight0_2","olap_availability"."olap_availabilityserp_hotel_weight0_3" AS "olap_availabilityserp_hotel_weight0_3","olap_availability"."olap_availabilitybw_los_weight_in_region0_4" AS "olap_availabilitybw_los_weight_in_region0_4","olap_availability"."olap_availabilitynull_region_weight0_5" AS "olap_availabilitynull_region_weight0_5","olap_availability"."olap_availabilityhotel_id0_6" AS "olap_availabilityhotel_id0_6","olap_availability"."olap_availabilityarrival_date0_7" AS "olap_availabilityarrival_date0_7","olap_availability"."olap_availabilityavailable_type_compare_id0_8" AS
"olap_availabilityavailable_type_compare_id0_8","olap_availability"."olap_availabilityis_available0_9" AS "olap_availabilityis_available0_9","olap_availability"."olap_availabilityis_booking_available0_10" AS "olap_availabilityis_booking_available0_10","olap_availability"."olap_availabilitybooking_window_id0_11" AS "olap_availabilitybooking_window_id0_11","olap_availability"."olap_availabilitylos_id0_12" AS "olap_availabilitylos_id0_12","olap_availability"."olap_availabilitytype_price_id0_13" AS "olap_availabilitytype_price_id0_13","olap_availability"."olap_availabilityis_matched0_14" AS "olap_availabilityis_matched0_14","olap_availability"."olap_availabilityscan_date0_15" AS "olap_availabilityscan_date0_15","olap_availability"."olap_availabilityregion_id0_16" AS "olap_availabilityregion_id0_16" FROM (SELECT 1 AS "olap_availability0_0","hotel_weight" AS
"olap_availabilityhotel_weight0_1","region_weight" AS "olap_availabilityregion_weight0_2","serp_hotel_weight" AS "olap_availabilityserp_hotel_weight0_3","bw_los_weight_in_region" AS "olap_availabilitybw_los_weight_in_region0_4","null_region_weight" AS "olap_availabilitynull_region_weight0_5","hotel_id" AS "olap_availabilityhotel_id0_6","arrival_date" AS "olap_availabilityarrival_date0_7","available_type_compare_id" AS "olap_availabilityavailable_type_compare_id0_8","is_available" AS "olap_availabilityis_available0_9","is_booking_available" AS "olap_availabilityis_booking_available0_10","booking_window_id" AS "olap_availabilitybooking_window_id0_11","los_id" AS "olap_availabilitylos_id0_12","type_price_id" AS "olap_availabilitytype_price_id0_13","is_matched" AS "olap_availabilityis_matched0_14","scan_date" AS "olap_availabilityscan_date0_15","region_id" AS
"olap_availabilityregion_id0_16" FROM (SELECT "availability"."id","availability"."hotel_id","availability"."scan_date","availability"."arrival_date","availability"."los","availability"."min_price","availability"."is_available","availability"."is_booking_available","availability"."available_type_compare_id","availability"."booking_window_id","availability"."type_price_id","availability"."los_id","availability"."is_matched","availability"."is_available_same_hotel","availability"."hotel_weight","availability"."region_weight","availability"."total_weight","availability"."region_id","availability"."serp_hotel_weight","availability"."bw_los_weight_in_region","availability"."null_region_weight" FROM "olap"."availability_weight_v2" AS availability WHERE "availability"."scan_date"<'2013-11-01') AS "availability_weight_v2") AS "olap_availability"
Merge Left Join (cost=128751184.13..1356038413.25 rows=562243283 width=80) (actual time=6809678.356..20796240.528 rows=547884856 loops=1)
Merge Cond: ((a.report_date = s.request_date) AND (r.id = s.region_id))
Join Filter: ((a.length_of_stay = s.length_of_stay) AND ((a.arrival_date - a.report_date) = s.booking_window))
Rows Removed by Join Filter: 14217585621
-> Nested Loop Left Join (cost=128458348.63..1337116377.30 rows=562243283 width=72) (actual time=6807735.766..17163813.460 rows=547884856 loops=1)
-> Nested Loop Left Join (cost=128458348.63..316535747.90 rows=562243283 width=60) (actual time=6807661.886..15796964.551 rows=547884856 loops=1)
Join Filter: ((a.length_of_stay)::integer <@ l.los_range)
Rows Removed by Join Filter: 16436545680
-> Nested Loop Left Join (cost=128458348.63..257500202.11 rows=562243283 width=56) (actual time=6807661.714..11598929.081 rows=547884856 loops=1)
Join Filter: (((COALESCE(a.min_price, a.result) / a.length_of_stay) / 100) <@ "*VALUES*".column3)
Rows Removed by Join Filter: 1643654568
-> Nested Loop Left Join (cost=128458348.63..212520739.41 rows=562243283 width=52) (actual time=6807661.679..10675631.705 rows=547884856 loops=1)
Join Filter: (w.booking_window_range @> (a.arrival_date - a.report_date))
Rows Removed by Join Filter: 9861927408
-> Merge Left Join (cost=128458348.63..133806678.69 rows=562243283 width=48) (actual time=6807517.107..7808245.056 rows=547884856 loops=1)
Merge Cond: ((a.report_date = rw.report_date) AND (r.id = rw.region_id))
-> Sort (cost=126430543.23..127836151.44 rows=562243283 width=36) (actual time=6787238.050..7396172.136 rows=547884856 loops=1)
Sort Key: a.report_date, r.id
Sort Method: external merge Disk: 26778352kB
-> Hash Left Join (cost=448888.99..29344144.98 rows=562243283 width=36) (actual time=70660.641..2592363.866 rows=547884856 loops=1)
Hash Cond: (a.ostrovok_hotel_id = h.id)
-> Seq Scan on availability_parity a (cost=0.00..18353194.44 rows=562243283 width=28) (actual time=68494.541..2176404.560 rows=547884856 loops=1)
Filter: (report_date < '2013-11-01'::date)
Rows Removed by Filter: 284754699
-> Hash (cost=440402.70..440402.70 rows=678903 width=12) (actual time=2165.845..2165.845 rows=664688 loops=1)
Buckets: 131072 Batches: 1 Memory Usage: 28505kB
-> Hash Left Join (cost=17422.99..440402.70 rows=678903 width=12) (actual time=514.289..1963.554 rows=664688 loops=1)
Hash Cond: (h.region_id = r.id)
-> Seq Scan on hotel h (cost=0.00..410324.03 rows=678903 width=8) (actual time=0.010..1062.149 rows=664688 loops=1)
-> Hash (cost=15336.33..15336.33 rows=166933 width=4) (actual time=514.128..514.128 rows=166933 loops=1)
Buckets: 32768 Batches: 1 Memory Usage: 5869kB
-> Seq Scan on region r (cost=0.00..15336.33 rows=166933 width=4) (actual time=0.012..480.104 rows=166933 loops=1)
-> Sort (cost=1678143.04..1709330.74 rows=12475082 width=20) (actual time=18699.385..83060.589 rows=556774593 loops=1)
Sort Key: rw.report_date, rw.region_id
Sort Method: quicksort Memory: 1016631kB
-> Seq Scan on region_stat rw (cost=0.00..207795.82 rows=12475082 width=20) (actual time=18.527..4270.382 rows=12633889 loops=1)
-> Materialize (cost=0.00..1.12 rows=8 width=36) (actual time=0.000..0.001 rows=19 loops=547884856)
-> Seq Scan on booking_window w (cost=0.00..1.08 rows=8 width=36) (actual time=28.454..28.464 rows=19 loops=1)
-> Materialize (cost=0.00..0.07 rows=4 width=36) (actual time=0.000..0.000 rows=4 loops=547884856)
-> Values Scan on "*VALUES*" (cost=0.00..0.05 rows=4 width=36) (actual time=0.010..0.016 rows=4 loops=1)
-> Materialize (cost=0.00..1.09 rows=6 width=36) (actual time=0.000..0.002 rows=31 loops=547884856)
-> Seq Scan on los l (cost=0.00..1.06 rows=6 width=36) (actual time=0.146..0.152 rows=31 loops=1)
-> Index Scan using pkey_hotel_stat on hotel_stat hw (cost=0.00..1.81 rows=1 width=20) (actual time=0.002..0.002 rows=0 loops=547884856)
Index Cond: ((a.report_date = report_date) AND (a.ostrovok_hotel_id = hotel_id))
-> Materialize (cost=0.00..274992.84 rows=2740286 width=30) (actual time=45.303..725780.159 rows=14250174709 loops=1)
-> Index Scan using serp_request_stat_copy_pkey on region_request_stat s (cost=0.00..268142.12 rows=2740286 width=30) (actual time=45.249..2040.106 rows=2391432 loops=1)
|
|
|