explain.depesz.com

PostgreSQL's explain analyze made readable

Result: W3Ld

Settings
# exclusive inclusive rows x rows loops node
1. 2.713 20.403 ↓ 3.9 942 1

Hash Join (cost=179.76..193.74 rows=240 width=12,031) (actual time=12.335..20.403 rows=942 loops=1)

  • Output: "Purchasable".id, "Purchasable".type, "Purchasable".name, "Purchasable".preview_video, "Purchasable".search_words, "Purchasable".description, "Purchasable".meta_title, "Purchasable".meta_description, "Purchasable".designed_for, "Purchasable".level, "Purchasable".overview, "Purchasable".sale_words, "Purchasable".main_points, "Purchasable".objectives, "Purchasable".training_minutes, "Purchasable".ceus, "Purchasable".price, "Purchasable".previous_price, "Purchasable".public_viewable, "Purchasable".live, "Purchasable".featured, "Purchasable".main_image, "Purchasable"."createdAt", "Purchasable"."updatedAt", "Purchasable"."ProductId", "Purchasable"."TrainingId", "Training".id, "Training".name, "Training".preview_video, "Training".search_words, "Training".short_name, "Training".description, "Training".meta_title, "Training".meta_description, "Training".designed_for, "Training".level, "Training".overview, "Training".objectives, "Training".training_minutes, "Training".ceus, "Training".price, "Training".previous_price, "Training".main_points, "Training".sale_words, "Training".public_viewable, "Training".live, "Training".coming_soon, "Training".featured, "Training".main_image, "Training"."createdAt", "Training"."updatedAt", "Training".version, "Training".organization_id, "Training->PdfRefs".id, "Training->PdfRefs".key, "Training->PdfRefs".s3_bucket, "Training->PdfRefs"."createdAt", "Training->PdfRefs"."updatedAt", "Training->PdfRefs".version, "Training->PdfRefs".organization_id, "Training->PdfRefs->TrainingsPdfRef".place, "Training->PdfRefs->TrainingsPdfRef"."createdAt", "Training->PdfRefs->TrainingsPdfRef"."updatedAt", "Training->PdfRefs->TrainingsPdfRef".version, "Training->PdfRefs->TrainingsPdfRef"."PdfRefId", "Training->PdfRefs->TrainingsPdfRef"."TrainingId", "Training->VideoRefs".id, "Training->VideoRefs".key, "Training->VideoRefs".s3_bucket, "Training->VideoRefs"."createdAt", "Training->VideoRefs"."updatedAt", "Training->VideoRefs".version, "Training->VideoRefs".organization_id, "Training->VideoRefs->TrainingsVideoRef"."TrainingId", "Training->VideoRefs->TrainingsVideoRef"."VideoRefId", "Training->VideoRefs->TrainingsVideoRef".required, "Training->VideoRefs->TrainingsVideoRef".place, "Training->VideoRefs->TrainingsVideoRef"."createdAt", "Training->VideoRefs->TrainingsVideoRef"."updatedAt", "Training->VideoRefs->TrainingsVideoRef".version, "Training->Tests".id, "Training->Tests".name, "Training->Tests".description, "Training->Tests"."time", "Training->Tests".retake_time, "Training->Tests".passing_percent, "Training->Tests".video_required, "Training->Tests"."createdAt", "Training->Tests"."updatedAt", "Training->Tests".version, "Training->Tests".organization_id, "Training->Tests->TrainingTest"."TrainingId", "Training->Tests->TrainingTest"."TestId", "Training->Tests->TrainingTest".video_required, "Training->Tests->TrainingTest".required, "Training->Tests->TrainingTest".place, "Training->Tests->TrainingTest"."createdAt", "Training->Tests->TrainingTest"."updatedAt", "Training->Tests->TrainingTest".version, "Training->Certificates".id, "Training->Certificates".name, "Training->Certificates".author, "Training->Certificates".certs, "Training->Certificates".logo, "Training->Certificates".watermark, "Training->Certificates".pri_color, "Training->Certificates".sec_color, "Training->Certificates".instruction_minutes, "Training->Certificates"."createdAt", "Training->Certificates"."updatedAt", "Training->Certificates".version, "Training->Certificates".organization_id, "Training->Certificates->TrainingsCertificate"."TrainingId", "Training->Certificates->TrainingsCertificate"."CertificateId", "Training->Certificates->TrainingsCertificate".place, "Training->Certificates->TrainingsCertificate".video_required, "Training->Certificates->TrainingsCertificate".test_required, "Training->Certificates->TrainingsCertificate".children_required, "Training->Certificates->TrainingsCertificate"."createdAt", "Training->Certificates->TrainingsCertificate"."updatedAt", "Training->Certificates->TrainingsCertificate".version, "Training->TrainingsParts".id, "Training->TrainingsParts".place, "Training->TrainingsParts"."createdAt", "Training->TrainingsParts"."updatedAt", "Training->TrainingsParts".version, "Training->TrainingsParts".organization_id, "Training->TrainingsParts"."TrainingId", "Training->TrainingsParts"."ParentId", "Training->TrainingsParts"."UnitId", "Training->TrainingsParts->Unit".id, "Training->TrainingsParts->Unit".name, "Training->TrainingsParts->Unit".preview_video, "Training->TrainingsParts->Unit".short_name, "Training->TrainingsParts->Unit".description, "Training->TrainingsParts->Unit".short_description, "Training->TrainingsParts->Unit".main_image, "Training->TrainingsParts->Unit"."createdAt", "Training->TrainingsParts->Unit"."updatedAt", "Training->TrainingsParts->Unit".version, "Training->TrainingsParts->Unit".organization_id, "Training->TrainingsParts->Unit->PdfRefs".id, "Training->TrainingsParts->Unit->PdfRefs".key, "Training->TrainingsParts->Unit->PdfRefs".s3_bucket, "Training->TrainingsParts->Unit->PdfRefs"."createdAt", "Training->TrainingsParts->Unit->PdfRefs"."updatedAt", "Training->TrainingsParts->Unit->PdfRefs".version, "Training->TrainingsParts->Unit->PdfRefs".organization_id, "Training->TrainingsParts->Unit->PdfRefs->UnitsPdfRef".place, "Training->TrainingsParts->Unit->PdfRefs->UnitsPdfRef"."createdAt", "Training->TrainingsParts->Unit->PdfRefs->UnitsPdfRef"."updatedAt", "Training->TrainingsParts->Unit->PdfRefs->UnitsPdfRef".version, "Training->TrainingsParts->Unit->PdfRefs->UnitsPdfRef"."PdfRefId", "Training->TrainingsParts->Unit->PdfRefs->UnitsPdfRef"."UnitId", "Training->TrainingsParts->Unit->VideoRefs".id, "Training->TrainingsParts->Unit->VideoRefs".key, "Training->TrainingsParts->Unit->VideoRefs".s3_bucket, "Training->TrainingsParts->Unit->VideoRefs"."createdAt", "Training->TrainingsParts->Unit->VideoRefs"."updatedAt", "Training->TrainingsParts->Unit->VideoRefs".version, "Training->TrainingsParts->Unit->VideoRefs".organization_id, "Training->TrainingsParts->Unit->VideoRefs->UnitsVideoRef"."UnitId", "Training->TrainingsParts->Unit->VideoRefs->UnitsVideoRef"."VideoRefId", "Training->TrainingsParts->Unit->VideoRefs->UnitsVideoRef".required, "Training->TrainingsParts->Unit->VideoRefs->UnitsVideoRef".place, "Training->TrainingsParts->Unit->VideoRefs->UnitsVideoRef"."createdAt", "Training->TrainingsParts->Unit->VideoRefs->UnitsVideoRef"."updatedAt", "Training->TrainingsParts->Unit->VideoRefs->UnitsVideoRef".version, "Training->TrainingsParts->Unit->Tests".id, "Training->TrainingsParts->Unit->Tests".name, "Training->TrainingsParts->Unit->Tests".description, "Training->TrainingsParts->Unit->Tests"."time", "Training->TrainingsParts->Unit->Tests".retake_time, "Training->TrainingsParts->Unit->Tests".passing_percent, "Training->TrainingsParts->Unit->Tests".video_required, "Training->TrainingsParts->Unit->Tests"."createdAt", "Training->TrainingsParts->Unit->Tests"."updatedAt", "Training->TrainingsParts->Unit->Tests".version, "Training->TrainingsParts->Unit->Tests".organization_id, "Training->TrainingsParts->Unit->Tests->UnitTest"."UnitId", "Training->TrainingsParts->Unit->Tests->UnitTest"."TestId", "Training->TrainingsParts->Unit->Tests->UnitTest".video_required, "Training->TrainingsParts->Unit->Tests->UnitTest".required, "Training->TrainingsParts->Unit->Tests->UnitTest".place, "Training->TrainingsParts->Unit->Tests->UnitTest"."createdAt", "Training->TrainingsParts->Unit->Tests->UnitTest"."updatedAt", "Training->TrainingsParts->Unit->Tests->UnitTest".version, "Training->TrainingsParts->Unit->Certificates".id, "Training->TrainingsParts->Unit->Certificates".name, "Training->TrainingsParts->Unit->Certificates".author, "Training->TrainingsParts->Unit->Certificates".certs, "Training->TrainingsParts->Unit->Certificates".logo, "Training->TrainingsParts->Unit->Certificates".watermark, "Training->TrainingsParts->Unit->Certificates".pri_color, "Training->TrainingsParts->Unit->Certificates".sec_color, "Training->TrainingsParts->Unit->Certificates".instruction_minutes, "Training->TrainingsParts->Unit->Certificates"."createdAt", "Training->TrainingsParts->Unit->Certificates"."updatedAt", "Training->TrainingsParts->Unit->Certificates".version, "Training->TrainingsParts->Unit->Certificates".organization_id, "Training->TrainingsParts->Unit->Certificates->UnitsCertificate"."UnitId", "Training->TrainingsParts->Unit->Certificates->UnitsCertificate"."CertificateId", "Training->TrainingsParts->Unit->Certificates->UnitsCertificate".place, "Training->TrainingsParts->Unit->Certificates->UnitsCertificate".video_required, "Training->TrainingsParts->Unit->Certificates->UnitsCertificate".test_required, "Training->TrainingsParts->Unit->Certificates->UnitsCertificate".children_required, "Training->TrainingsParts->Unit->Certificates->UnitsCertificate"."createdAt", "Training->TrainingsParts->Unit->Certificates->UnitsCertificate"."updatedAt", "Training->TrainingsParts->Unit->Certificates->UnitsCertificate".version, "Training->Categories".id, "Training->Categories".name, "Training->Categories"."createdAt", "Training->Categories"."updatedAt", "Training->Categories".version, "Training->Categories"."OrganizationId", "Training->Categories->TrainingsCategory"."CategoryId", "Training->Categories->TrainingsCategory"."TrainingId", "Training->Categories->TrainingsCategory"."createdAt", "Training->Categories->TrainingsCategory"."updatedAt", "Training->Categories->TrainingsCategory".version
  • Hash Cond: ("Training".id = "Training->Categories->TrainingsCategory"."TrainingId")
2. 1.016 17.180 ↓ 2.9 245 1

Hash Left Join (cost=172.82..183.66 rows=85 width=11,411) (actual time=11.791..17.180 rows=245 loops=1)

  • Output: "Purchasable".id, "Purchasable".type, "Purchasable".name, "Purchasable".preview_video, "Purchasable".search_words, "Purchasable".description, "Purchasable".meta_title, "Purchasable".meta_description, "Purchasable".designed_for, "Purchasable".level, "Purchasable".overview, "Purchasable".sale_words, "Purchasable".main_points, "Purchasable".objectives, "Purchasable".training_minutes, "Purchasable".ceus, "Purchasable".price, "Purchasable".previous_price, "Purchasable".public_viewable, "Purchasable".live, "Purchasable".featured, "Purchasable".main_image, "Purchasable"."createdAt", "Purchasable"."updatedAt", "Purchasable"."ProductId", "Purchasable"."TrainingId", "Training".id, "Training".name, "Training".preview_video, "Training".search_words, "Training".short_name, "Training".description, "Training".meta_title, "Training".meta_description, "Training".designed_for, "Training".level, "Training".overview, "Training".objectives, "Training".training_minutes, "Training".ceus, "Training".price, "Training".previous_price, "Training".main_points, "Training".sale_words, "Training".public_viewable, "Training".live, "Training".coming_soon, "Training".featured, "Training".main_image, "Training"."createdAt", "Training"."updatedAt", "Training".version, "Training".organization_id, "Training->Tests->TrainingTest"."TrainingId", "Training->Tests->TrainingTest"."TestId", "Training->Tests->TrainingTest".video_required, "Training->Tests->TrainingTest".required, "Training->Tests->TrainingTest".place, "Training->Tests->TrainingTest"."createdAt", "Training->Tests->TrainingTest"."updatedAt", "Training->Tests->TrainingTest".version, "Training->Tests".id, "Training->Tests".name, "Training->Tests".description, "Training->Tests"."time", "Training->Tests".retake_time, "Training->Tests".passing_percent, "Training->Tests".video_required, "Training->Tests"."createdAt", "Training->Tests"."updatedAt", "Training->Tests".version, "Training->Tests".organization_id, "Training->VideoRefs->TrainingsVideoRef"."TrainingId", "Training->VideoRefs->TrainingsVideoRef"."VideoRefId", "Training->VideoRefs->TrainingsVideoRef".required, "Training->VideoRefs->TrainingsVideoRef".place, "Training->VideoRefs->TrainingsVideoRef"."createdAt", "Training->VideoRefs->TrainingsVideoRef"."updatedAt", "Training->VideoRefs->TrainingsVideoRef".version, "Training->VideoRefs".id, "Training->VideoRefs".key, "Training->VideoRefs".s3_bucket, "Training->VideoRefs"."createdAt", "Training->VideoRefs"."updatedAt", "Training->VideoRefs".version, "Training->VideoRefs".organization_id, "Training->PdfRefs->TrainingsPdfRef".place, "Training->PdfRefs->TrainingsPdfRef"."createdAt", "Training->PdfRefs->TrainingsPdfRef"."updatedAt", "Training->PdfRefs->TrainingsPdfRef".version, "Training->PdfRefs->TrainingsPdfRef"."PdfRefId", "Training->PdfRefs->TrainingsPdfRef"."TrainingId", "Training->PdfRefs".id, "Training->PdfRefs".key, "Training->PdfRefs".s3_bucket, "Training->PdfRefs"."createdAt", "Training->PdfRefs"."updatedAt", "Training->PdfRefs".version, "Training->PdfRefs".organization_id, "Training->TrainingsParts".id, "Training->TrainingsParts".place, "Training->TrainingsParts"."createdAt", "Training->TrainingsParts"."updatedAt", "Training->TrainingsParts".version, "Training->TrainingsParts".organization_id, "Training->TrainingsParts"."TrainingId", "Training->TrainingsParts"."ParentId", "Training->TrainingsParts"."UnitId", "Training->TrainingsParts->Unit".id, "Training->TrainingsParts->Unit".name, "Training->TrainingsParts->Unit".preview_video, "Training->TrainingsParts->Unit".short_name, "Training->TrainingsParts->Unit".description, "Training->TrainingsParts->Unit".short_description, "Training->TrainingsParts->Unit".main_image, "Training->TrainingsParts->Unit"."createdAt", "Training->TrainingsParts->Unit"."updatedAt", "Training->TrainingsParts->Unit".version, "Training->TrainingsParts->Unit".organization_id, "Training->TrainingsParts->Unit->VideoRefs->UnitsVideoRef"."UnitId", "Training->TrainingsParts->Unit->VideoRefs->UnitsVideoRef"."VideoRefId", "Training->TrainingsParts->Unit->VideoRefs->UnitsVideoRef".required, "Training->TrainingsParts->Unit->VideoRefs->UnitsVideoRef".place, "Training->TrainingsParts->Unit->VideoRefs->UnitsVideoRef"."createdAt", "Training->TrainingsParts->Unit->VideoRefs->UnitsVideoRef"."updatedAt", "Training->TrainingsParts->Unit->VideoRefs->UnitsVideoRef".version, "Training->TrainingsParts->Unit->VideoRefs".id, "Training->TrainingsParts->Unit->VideoRefs".key, "Training->TrainingsParts->Unit->VideoRefs".s3_bucket, "Training->TrainingsParts->Unit->VideoRefs"."createdAt", "Training->TrainingsParts->Unit->VideoRefs"."updatedAt", "Training->TrainingsParts->Unit->VideoRefs".version, "Training->TrainingsParts->Unit->VideoRefs".organization_id, "Training->TrainingsParts->Unit->PdfRefs->UnitsPdfRef".place, "Training->TrainingsParts->Unit->PdfRefs->UnitsPdfRef"."createdAt", "Training->TrainingsParts->Unit->PdfRefs->UnitsPdfRef"."updatedAt", "Training->TrainingsParts->Unit->PdfRefs->UnitsPdfRef".version, "Training->TrainingsParts->Unit->PdfRefs->UnitsPdfRef"."PdfRefId", "Training->TrainingsParts->Unit->PdfRefs->UnitsPdfRef"."UnitId", "Training->TrainingsParts->Unit->PdfRefs".id, "Training->TrainingsParts->Unit->PdfRefs".key, "Training->TrainingsParts->Unit->PdfRefs".s3_bucket, "Training->TrainingsParts->Unit->PdfRefs"."createdAt", "Training->TrainingsParts->Unit->PdfRefs"."updatedAt", "Training->TrainingsParts->Unit->PdfRefs".version, "Training->TrainingsParts->Unit->PdfRefs".organization_id, "Training->Certificates->TrainingsCertificate"."TrainingId", "Training->Certificates->TrainingsCertificate"."CertificateId", "Training->Certificates->TrainingsCertificate".place, "Training->Certificates->TrainingsCertificate".video_required, "Training->Certificates->TrainingsCertificate".test_required, "Training->Certificates->TrainingsCertificate".children_required, "Training->Certificates->TrainingsCertificate"."createdAt", "Training->Certificates->TrainingsCertificate"."updatedAt", "Training->Certificates->TrainingsCertificate".version, "Training->Certificates".id, "Training->Certificates".name, "Training->Certificates".author, "Training->Certificates".certs, "Training->Certificates".logo, "Training->Certificates".watermark, "Training->Certificates".pri_color, "Training->Certificates".sec_color, "Training->Certificates".instruction_minutes, "Training->Certificates"."createdAt", "Training->Certificates"."updatedAt", "Training->Certificates".version, "Training->Certificates".organization_id, "Training->TrainingsParts->Unit->Certificates->UnitsCertificate"."UnitId", "Training->TrainingsParts->Unit->Certificates->UnitsCertificate"."CertificateId", "Training->TrainingsParts->Unit->Certificates->UnitsCertificate".place, "Training->TrainingsParts->Unit->Certificates->UnitsCertificate".video_required, "Training->TrainingsParts->Unit->Certificates->UnitsCertificate".test_required, "Training->TrainingsParts->Unit->Certificates->UnitsCertificate".children_required, "Training->TrainingsParts->Unit->Certificates->UnitsCertificate"."createdAt", "Training->TrainingsParts->Unit->Certificates->UnitsCertificate"."updatedAt", "Training->TrainingsParts->Unit->Certificates->UnitsCertificate".version, "Training->TrainingsParts->Unit->Certificates".id, "Training->TrainingsParts->Unit->Certificates".name, "Training->TrainingsParts->Unit->Certificates".author, "Training->TrainingsParts->Unit->Certificates".certs, "Training->TrainingsParts->Unit->Certificates".logo, "Training->TrainingsParts->Unit->Certificates".watermark, "Training->TrainingsParts->Unit->Certificates".pri_color, "Training->TrainingsParts->Unit->Certificates".sec_color, "Training->TrainingsParts->Unit->Certificates".instruction_minutes, "Training->TrainingsParts->Unit->Certificates"."createdAt", "Training->TrainingsParts->Unit->Certificates"."updatedAt", "Training->TrainingsParts->Unit->Certificates".version, "Training->TrainingsParts->Unit->Certificates".organization_id, "Training->TrainingsParts->Unit->Tests->UnitTest"."UnitId", "Training->TrainingsParts->Unit->Tests->UnitTest"."TestId", "Training->TrainingsParts->Unit->Tests->UnitTest".video_required, "Training->TrainingsParts->Unit->Tests->UnitTest".required, "Training->TrainingsParts->Unit->Tests->UnitTest".place, "Training->TrainingsParts->Unit->Tests->UnitTest"."createdAt", "Training->TrainingsParts->Unit->Tests->UnitTest"."updatedAt", "Training->TrainingsParts->Unit->Tests->UnitTest".version, "Training->TrainingsParts->Unit->Tests".id, "Training->TrainingsParts->Unit->Tests".name, "Training->TrainingsParts->Unit->Tests".description, "Training->TrainingsParts->Unit->Tests"."time", "Training->TrainingsParts->Unit->Tests".retake_time, "Training->TrainingsParts->Unit->Tests".passing_percent, "Training->TrainingsParts->Unit->Tests".video_required, "Training->TrainingsParts->Unit->Tests"."createdAt", "Training->TrainingsParts->Unit->Tests"."updatedAt", "Training->TrainingsParts->Unit->Tests".version, "Training->TrainingsParts->Unit->Tests".organization_id
  • Hash Cond: ("Training->TrainingsParts->Unit".id = "Training->TrainingsParts->Unit->Tests->UnitTest"."UnitId")
3. 1.279 15.709 ↓ 2.9 245 1

Hash Left Join (cost=166.84..176.57 rows=85 width=11,248) (actual time=11.308..15.709 rows=245 loops=1)

  • Output: "Purchasable".id, "Purchasable".type, "Purchasable".name, "Purchasable".preview_video, "Purchasable".search_words, "Purchasable".description, "Purchasable".meta_title, "Purchasable".meta_description, "Purchasable".designed_for, "Purchasable".level, "Purchasable".overview, "Purchasable".sale_words, "Purchasable".main_points, "Purchasable".objectives, "Purchasable".training_minutes, "Purchasable".ceus, "Purchasable".price, "Purchasable".previous_price, "Purchasable".public_viewable, "Purchasable".live, "Purchasable".featured, "Purchasable".main_image, "Purchasable"."createdAt", "Purchasable"."updatedAt", "Purchasable"."ProductId", "Purchasable"."TrainingId", "Training".id, "Training".name, "Training".preview_video, "Training".search_words, "Training".short_name, "Training".description, "Training".meta_title, "Training".meta_description, "Training".designed_for, "Training".level, "Training".overview, "Training".objectives, "Training".training_minutes, "Training".ceus, "Training".price, "Training".previous_price, "Training".main_points, "Training".sale_words, "Training".public_viewable, "Training".live, "Training".coming_soon, "Training".featured, "Training".main_image, "Training"."createdAt", "Training"."updatedAt", "Training".version, "Training".organization_id, "Training->Tests->TrainingTest"."TrainingId", "Training->Tests->TrainingTest"."TestId", "Training->Tests->TrainingTest".video_required, "Training->Tests->TrainingTest".required, "Training->Tests->TrainingTest".place, "Training->Tests->TrainingTest"."createdAt", "Training->Tests->TrainingTest"."updatedAt", "Training->Tests->TrainingTest".version, "Training->Tests".id, "Training->Tests".name, "Training->Tests".description, "Training->Tests"."time", "Training->Tests".retake_time, "Training->Tests".passing_percent, "Training->Tests".video_required, "Training->Tests"."createdAt", "Training->Tests"."updatedAt", "Training->Tests".version, "Training->Tests".organization_id, "Training->VideoRefs->TrainingsVideoRef"."TrainingId", "Training->VideoRefs->TrainingsVideoRef"."VideoRefId", "Training->VideoRefs->TrainingsVideoRef".required, "Training->VideoRefs->TrainingsVideoRef".place, "Training->VideoRefs->TrainingsVideoRef"."createdAt", "Training->VideoRefs->TrainingsVideoRef"."updatedAt", "Training->VideoRefs->TrainingsVideoRef".version, "Training->VideoRefs".id, "Training->VideoRefs".key, "Training->VideoRefs".s3_bucket, "Training->VideoRefs"."createdAt", "Training->VideoRefs"."updatedAt", "Training->VideoRefs".version, "Training->VideoRefs".organization_id, "Training->PdfRefs->TrainingsPdfRef".place, "Training->PdfRefs->TrainingsPdfRef"."createdAt", "Training->PdfRefs->TrainingsPdfRef"."updatedAt", "Training->PdfRefs->TrainingsPdfRef".version, "Training->PdfRefs->TrainingsPdfRef"."PdfRefId", "Training->PdfRefs->TrainingsPdfRef"."TrainingId", "Training->PdfRefs".id, "Training->PdfRefs".key, "Training->PdfRefs".s3_bucket, "Training->PdfRefs"."createdAt", "Training->PdfRefs"."updatedAt", "Training->PdfRefs".version, "Training->PdfRefs".organization_id, "Training->TrainingsParts".id, "Training->TrainingsParts".place, "Training->TrainingsParts"."createdAt", "Training->TrainingsParts"."updatedAt", "Training->TrainingsParts".version, "Training->TrainingsParts".organization_id, "Training->TrainingsParts"."TrainingId", "Training->TrainingsParts"."ParentId", "Training->TrainingsParts"."UnitId", "Training->TrainingsParts->Unit".id, "Training->TrainingsParts->Unit".name, "Training->TrainingsParts->Unit".preview_video, "Training->TrainingsParts->Unit".short_name, "Training->TrainingsParts->Unit".description, "Training->TrainingsParts->Unit".short_description, "Training->TrainingsParts->Unit".main_image, "Training->TrainingsParts->Unit"."createdAt", "Training->TrainingsParts->Unit"."updatedAt", "Training->TrainingsParts->Unit".version, "Training->TrainingsParts->Unit".organization_id, "Training->TrainingsParts->Unit->VideoRefs->UnitsVideoRef"."UnitId", "Training->TrainingsParts->Unit->VideoRefs->UnitsVideoRef"."VideoRefId", "Training->TrainingsParts->Unit->VideoRefs->UnitsVideoRef".required, "Training->TrainingsParts->Unit->VideoRefs->UnitsVideoRef".place, "Training->TrainingsParts->Unit->VideoRefs->UnitsVideoRef"."createdAt", "Training->TrainingsParts->Unit->VideoRefs->UnitsVideoRef"."updatedAt", "Training->TrainingsParts->Unit->VideoRefs->UnitsVideoRef".version, "Training->TrainingsParts->Unit->VideoRefs".id, "Training->TrainingsParts->Unit->VideoRefs".key, "Training->TrainingsParts->Unit->VideoRefs".s3_bucket, "Training->TrainingsParts->Unit->VideoRefs"."createdAt", "Training->TrainingsParts->Unit->VideoRefs"."updatedAt", "Training->TrainingsParts->Unit->VideoRefs".version, "Training->TrainingsParts->Unit->VideoRefs".organization_id, "Training->TrainingsParts->Unit->PdfRefs->UnitsPdfRef".place, "Training->TrainingsParts->Unit->PdfRefs->UnitsPdfRef"."createdAt", "Training->TrainingsParts->Unit->PdfRefs->UnitsPdfRef"."updatedAt", "Training->TrainingsParts->Unit->PdfRefs->UnitsPdfRef".version, "Training->TrainingsParts->Unit->PdfRefs->UnitsPdfRef"."PdfRefId", "Training->TrainingsParts->Unit->PdfRefs->UnitsPdfRef"."UnitId", "Training->TrainingsParts->Unit->PdfRefs".id, "Training->TrainingsParts->Unit->PdfRefs".key, "Training->TrainingsParts->Unit->PdfRefs".s3_bucket, "Training->TrainingsParts->Unit->PdfRefs"."createdAt", "Training->TrainingsParts->Unit->PdfRefs"."updatedAt", "Training->TrainingsParts->Unit->PdfRefs".version, "Training->TrainingsParts->Unit->PdfRefs".organization_id, "Training->Certificates->TrainingsCertificate"."TrainingId", "Training->Certificates->TrainingsCertificate"."CertificateId", "Training->Certificates->TrainingsCertificate".place, "Training->Certificates->TrainingsCertificate".video_required, "Training->Certificates->TrainingsCertificate".test_required, "Training->Certificates->TrainingsCertificate".children_required, "Training->Certificates->TrainingsCertificate"."createdAt", "Training->Certificates->TrainingsCertificate"."updatedAt", "Training->Certificates->TrainingsCertificate".version, "Training->Certificates".id, "Training->Certificates".name, "Training->Certificates".author, "Training->Certificates".certs, "Training->Certificates".logo, "Training->Certificates".watermark, "Training->Certificates".pri_color, "Training->Certificates".sec_color, "Training->Certificates".instruction_minutes, "Training->Certificates"."createdAt", "Training->Certificates"."updatedAt", "Training->Certificates".version, "Training->Certificates".organization_id, "Training->TrainingsParts->Unit->Certificates->UnitsCertificate"."UnitId", "Training->TrainingsParts->Unit->Certificates->UnitsCertificate"."CertificateId", "Training->TrainingsParts->Unit->Certificates->UnitsCertificate".place, "Training->TrainingsParts->Unit->Certificates->UnitsCertificate".video_required, "Training->TrainingsParts->Unit->Certificates->UnitsCertificate".test_required, "Training->TrainingsParts->Unit->Certificates->UnitsCertificate".children_required, "Training->TrainingsParts->Unit->Certificates->UnitsCertificate"."createdAt", "Training->TrainingsParts->Unit->Certificates->UnitsCertificate"."updatedAt", "Training->TrainingsParts->Unit->Certificates->UnitsCertificate".version, "Training->TrainingsParts->Unit->Certificates".id, "Training->TrainingsParts->Unit->Certificates".name, "Training->TrainingsParts->Unit->Certificates".author, "Training->TrainingsParts->Unit->Certificates".certs, "Training->TrainingsParts->Unit->Certificates".logo, "Training->TrainingsParts->Unit->Certificates".watermark, "Training->TrainingsParts->Unit->Certificates".pri_color, "Training->TrainingsParts->Unit->Certificates".sec_color, "Training->TrainingsParts->Unit->Certificates".instruction_minutes, "Training->TrainingsParts->Unit->Certificates"."createdAt", "Training->TrainingsParts->Unit->Certificates"."updatedAt", "Training->TrainingsParts->Unit->Certificates".version, "Training->TrainingsParts->Unit->Certificates".organization_id
  • Hash Cond: ("Training->TrainingsParts->Unit".id = "Training->TrainingsParts->Unit->Certificates->UnitsCertificate"."UnitId")
4. 1.768 14.094 ↓ 2.9 245 1

Hash Left Join (cost=158.27..166.89 rows=85 width=10,564) (actual time=10.932..14.094 rows=245 loops=1)

  • Output: "Purchasable".id, "Purchasable".type, "Purchasable".name, "Purchasable".preview_video, "Purchasable".search_words, "Purchasable".description, "Purchasable".meta_title, "Purchasable".meta_description, "Purchasable".designed_for, "Purchasable".level, "Purchasable".overview, "Purchasable".sale_words, "Purchasable".main_points, "Purchasable".objectives, "Purchasable".training_minutes, "Purchasable".ceus, "Purchasable".price, "Purchasable".previous_price, "Purchasable".public_viewable, "Purchasable".live, "Purchasable".featured, "Purchasable".main_image, "Purchasable"."createdAt", "Purchasable"."updatedAt", "Purchasable"."ProductId", "Purchasable"."TrainingId", "Training".id, "Training".name, "Training".preview_video, "Training".search_words, "Training".short_name, "Training".description, "Training".meta_title, "Training".meta_description, "Training".designed_for, "Training".level, "Training".overview, "Training".objectives, "Training".training_minutes, "Training".ceus, "Training".price, "Training".previous_price, "Training".main_points, "Training".sale_words, "Training".public_viewable, "Training".live, "Training".coming_soon, "Training".featured, "Training".main_image, "Training"."createdAt", "Training"."updatedAt", "Training".version, "Training".organization_id, "Training->Tests->TrainingTest"."TrainingId", "Training->Tests->TrainingTest"."TestId", "Training->Tests->TrainingTest".video_required, "Training->Tests->TrainingTest".required, "Training->Tests->TrainingTest".place, "Training->Tests->TrainingTest"."createdAt", "Training->Tests->TrainingTest"."updatedAt", "Training->Tests->TrainingTest".version, "Training->Tests".id, "Training->Tests".name, "Training->Tests".description, "Training->Tests"."time", "Training->Tests".retake_time, "Training->Tests".passing_percent, "Training->Tests".video_required, "Training->Tests"."createdAt", "Training->Tests"."updatedAt", "Training->Tests".version, "Training->Tests".organization_id, "Training->VideoRefs->TrainingsVideoRef"."TrainingId", "Training->VideoRefs->TrainingsVideoRef"."VideoRefId", "Training->VideoRefs->TrainingsVideoRef".required, "Training->VideoRefs->TrainingsVideoRef".place, "Training->VideoRefs->TrainingsVideoRef"."createdAt", "Training->VideoRefs->TrainingsVideoRef"."updatedAt", "Training->VideoRefs->TrainingsVideoRef".version, "Training->VideoRefs".id, "Training->VideoRefs".key, "Training->VideoRefs".s3_bucket, "Training->VideoRefs"."createdAt", "Training->VideoRefs"."updatedAt", "Training->VideoRefs".version, "Training->VideoRefs".organization_id, "Training->PdfRefs->TrainingsPdfRef".place, "Training->PdfRefs->TrainingsPdfRef"."createdAt", "Training->PdfRefs->TrainingsPdfRef"."updatedAt", "Training->PdfRefs->TrainingsPdfRef".version, "Training->PdfRefs->TrainingsPdfRef"."PdfRefId", "Training->PdfRefs->TrainingsPdfRef"."TrainingId", "Training->PdfRefs".id, "Training->PdfRefs".key, "Training->PdfRefs".s3_bucket, "Training->PdfRefs"."createdAt", "Training->PdfRefs"."updatedAt", "Training->PdfRefs".version, "Training->PdfRefs".organization_id, "Training->TrainingsParts".id, "Training->TrainingsParts".place, "Training->TrainingsParts"."createdAt", "Training->TrainingsParts"."updatedAt", "Training->TrainingsParts".version, "Training->TrainingsParts".organization_id, "Training->TrainingsParts"."TrainingId", "Training->TrainingsParts"."ParentId", "Training->TrainingsParts"."UnitId", "Training->TrainingsParts->Unit".id, "Training->TrainingsParts->Unit".name, "Training->TrainingsParts->Unit".preview_video, "Training->TrainingsParts->Unit".short_name, "Training->TrainingsParts->Unit".description, "Training->TrainingsParts->Unit".short_description, "Training->TrainingsParts->Unit".main_image, "Training->TrainingsParts->Unit"."createdAt", "Training->TrainingsParts->Unit"."updatedAt", "Training->TrainingsParts->Unit".version, "Training->TrainingsParts->Unit".organization_id, "Training->TrainingsParts->Unit->VideoRefs->UnitsVideoRef"."UnitId", "Training->TrainingsParts->Unit->VideoRefs->UnitsVideoRef"."VideoRefId", "Training->TrainingsParts->Unit->VideoRefs->UnitsVideoRef".required, "Training->TrainingsParts->Unit->VideoRefs->UnitsVideoRef".place, "Training->TrainingsParts->Unit->VideoRefs->UnitsVideoRef"."createdAt", "Training->TrainingsParts->Unit->VideoRefs->UnitsVideoRef"."updatedAt", "Training->TrainingsParts->Unit->VideoRefs->UnitsVideoRef".version, "Training->TrainingsParts->Unit->VideoRefs".id, "Training->TrainingsParts->Unit->VideoRefs".key, "Training->TrainingsParts->Unit->VideoRefs".s3_bucket, "Training->TrainingsParts->Unit->VideoRefs"."createdAt", "Training->TrainingsParts->Unit->VideoRefs"."updatedAt", "Training->TrainingsParts->Unit->VideoRefs".version, "Training->TrainingsParts->Unit->VideoRefs".organization_id, "Training->TrainingsParts->Unit->PdfRefs->UnitsPdfRef".place, "Training->TrainingsParts->Unit->PdfRefs->UnitsPdfRef"."createdAt", "Training->TrainingsParts->Unit->PdfRefs->UnitsPdfRef"."updatedAt", "Training->TrainingsParts->Unit->PdfRefs->UnitsPdfRef".version, "Training->TrainingsParts->Unit->PdfRefs->UnitsPdfRef"."PdfRefId", "Training->TrainingsParts->Unit->PdfRefs->UnitsPdfRef"."UnitId", "Training->TrainingsParts->Unit->PdfRefs".id, "Training->TrainingsParts->Unit->PdfRefs".key, "Training->TrainingsParts->Unit->PdfRefs".s3_bucket, "Training->TrainingsParts->Unit->PdfRefs"."createdAt", "Training->TrainingsParts->Unit->PdfRefs"."updatedAt", "Training->TrainingsParts->Unit->PdfRefs".version, "Training->TrainingsParts->Unit->PdfRefs".organization_id, "Training->Certificates->TrainingsCertificate"."TrainingId", "Training->Certificates->TrainingsCertificate"."CertificateId", "Training->Certificates->TrainingsCertificate".place, "Training->Certificates->TrainingsCertificate".video_required, "Training->Certificates->TrainingsCertificate".test_required, "Training->Certificates->TrainingsCertificate".children_required, "Training->Certificates->TrainingsCertificate"."createdAt", "Training->Certificates->TrainingsCertificate"."updatedAt", "Training->Certificates->TrainingsCertificate".version, "Training->Certificates".id, "Training->Certificates".name, "Training->Certificates".author, "Training->Certificates".certs, "Training->Certificates".logo, "Training->Certificates".watermark, "Training->Certificates".pri_color, "Training->Certificates".sec_color, "Training->Certificates".instruction_minutes, "Training->Certificates"."createdAt", "Training->Certificates"."updatedAt", "Training->Certificates".version, "Training->Certificates".organization_id
  • Hash Cond: ("Training->TrainingsParts"."UnitId" = "Training->TrainingsParts->Unit".id)
5. 1.651 9.962 ↓ 2.7 206 1

Hash Right Join (cost=140.10..147.59 rows=76 width=8,347) (actual time=8.395..9.962 rows=206 loops=1)

  • Output: "Purchasable".id, "Purchasable".type, "Purchasable".name, "Purchasable".preview_video, "Purchasable".search_words, "Purchasable".description, "Purchasable".meta_title, "Purchasable".meta_description, "Purchasable".designed_for, "Purchasable".level, "Purchasable".overview, "Purchasable".sale_words, "Purchasable".main_points, "Purchasable".objectives, "Purchasable".training_minutes, "Purchasable".ceus, "Purchasable".price, "Purchasable".previous_price, "Purchasable".public_viewable, "Purchasable".live, "Purchasable".featured, "Purchasable".main_image, "Purchasable"."createdAt", "Purchasable"."updatedAt", "Purchasable"."ProductId", "Purchasable"."TrainingId", "Training".id, "Training".name, "Training".preview_video, "Training".search_words, "Training".short_name, "Training".description, "Training".meta_title, "Training".meta_description, "Training".designed_for, "Training".level, "Training".overview, "Training".objectives, "Training".training_minutes, "Training".ceus, "Training".price, "Training".previous_price, "Training".main_points, "Training".sale_words, "Training".public_viewable, "Training".live, "Training".coming_soon, "Training".featured, "Training".main_image, "Training"."createdAt", "Training"."updatedAt", "Training".version, "Training".organization_id, "Training->Tests->TrainingTest"."TrainingId", "Training->Tests->TrainingTest"."TestId", "Training->Tests->TrainingTest".video_required, "Training->Tests->TrainingTest".required, "Training->Tests->TrainingTest".place, "Training->Tests->TrainingTest"."createdAt", "Training->Tests->TrainingTest"."updatedAt", "Training->Tests->TrainingTest".version, "Training->Tests".id, "Training->Tests".name, "Training->Tests".description, "Training->Tests"."time", "Training->Tests".retake_time, "Training->Tests".passing_percent, "Training->Tests".video_required, "Training->Tests"."createdAt", "Training->Tests"."updatedAt", "Training->Tests".version, "Training->Tests".organization_id, "Training->VideoRefs->TrainingsVideoRef"."TrainingId", "Training->VideoRefs->TrainingsVideoRef"."VideoRefId", "Training->VideoRefs->TrainingsVideoRef".required, "Training->VideoRefs->TrainingsVideoRef".place, "Training->VideoRefs->TrainingsVideoRef"."createdAt", "Training->VideoRefs->TrainingsVideoRef"."updatedAt", "Training->VideoRefs->TrainingsVideoRef".version, "Training->VideoRefs".id, "Training->VideoRefs".key, "Training->VideoRefs".s3_bucket, "Training->VideoRefs"."createdAt", "Training->VideoRefs"."updatedAt", "Training->VideoRefs".version, "Training->VideoRefs".organization_id, "Training->PdfRefs->TrainingsPdfRef".place, "Training->PdfRefs->TrainingsPdfRef"."createdAt", "Training->PdfRefs->TrainingsPdfRef"."updatedAt", "Training->PdfRefs->TrainingsPdfRef".version, "Training->PdfRefs->TrainingsPdfRef"."PdfRefId", "Training->PdfRefs->TrainingsPdfRef"."TrainingId", "Training->PdfRefs".id, "Training->PdfRefs".key, "Training->PdfRefs".s3_bucket, "Training->PdfRefs"."createdAt", "Training->PdfRefs"."updatedAt", "Training->PdfRefs".version, "Training->PdfRefs".organization_id, "Training->Certificates->TrainingsCertificate"."TrainingId", "Training->Certificates->TrainingsCertificate"."CertificateId", "Training->Certificates->TrainingsCertificate".place, "Training->Certificates->TrainingsCertificate".video_required, "Training->Certificates->TrainingsCertificate".test_required, "Training->Certificates->TrainingsCertificate".children_required, "Training->Certificates->TrainingsCertificate"."createdAt", "Training->Certificates->TrainingsCertificate"."updatedAt", "Training->Certificates->TrainingsCertificate".version, "Training->Certificates".id, "Training->Certificates".name, "Training->Certificates".author, "Training->Certificates".certs, "Training->Certificates".logo, "Training->Certificates".watermark, "Training->Certificates".pri_color, "Training->Certificates".sec_color, "Training->Certificates".instruction_minutes, "Training->Certificates"."createdAt", "Training->Certificates"."updatedAt", "Training->Certificates".version, "Training->Certificates".organization_id, "Training->TrainingsParts".id, "Training->TrainingsParts".place, "Training->TrainingsParts"."createdAt", "Training->TrainingsParts"."updatedAt", "Training->TrainingsParts".version, "Training->TrainingsParts".organization_id, "Training->TrainingsParts"."TrainingId", "Training->TrainingsParts"."ParentId", "Training->TrainingsParts"."UnitId
  • Hash Cond: ("Training->TrainingsParts"."TrainingId" = "Training".id)
6. 0.379 0.379 ↑ 1.0 199 1

Seq Scan on public."TrainingsParts" "Training->TrainingsParts" (cost=0.00..5.99 rows=199 width=104) (actual time=0.049..0.379 rows=199 loops=1)

  • Output: "Training->TrainingsParts".id, "Training->TrainingsParts".place, "Training->TrainingsParts"."createdAt", "Training->TrainingsParts"."updatedAt", "Training->TrainingsParts".version, "Training->TrainingsParts".organization_id, "Training->TrainingsParts"."TrainingId", "Training->TrainingsParts"."ParentId", "Training->TrainingsParts"."UnitId
7. 0.392 7.932 ↓ 3.2 57 1

Hash (cost=139.87..139.87 rows=18 width=8,243) (actual time=7.932..7.932 rows=57 loops=1)

  • Output: "Purchasable".id, "Purchasable".type, "Purchasable".name, "Purchasable".preview_video, "Purchasable".search_words, "Purchasable".description, "Purchasable".meta_title, "Purchasable".meta_description, "Purchasable".designed_for, "Purchasable".level, "Purchasable".overview, "Purchasable".sale_words, "Purchasable".main_points, "Purchasable".objectives, "Purchasable".training_minutes, "Purchasable".ceus, "Purchasable".price, "Purchasable".previous_price, "Purchasable".public_viewable, "Purchasable".live, "Purchasable".featured, "Purchasable".main_image, "Purchasable"."createdAt", "Purchasable"."updatedAt", "Purchasable"."ProductId", "Purchasable"."TrainingId", "Training".id, "Training".name, "Training".preview_video, "Training".search_words, "Training".short_name, "Training".description, "Training".meta_title, "Training".meta_description, "Training".designed_for, "Training".level, "Training".overview, "Training".objectives, "Training".training_minutes, "Training".ceus, "Training".price, "Training".previous_price, "Training".main_points, "Training".sale_words, "Training".public_viewable, "Training".live, "Training".coming_soon, "Training".featured, "Training".main_image, "Training"."createdAt", "Training"."updatedAt", "Training".version, "Training".organization_id, "Training->Tests->TrainingTest"."TrainingId", "Training->Tests->TrainingTest"."TestId", "Training->Tests->TrainingTest".video_required, "Training->Tests->TrainingTest".required, "Training->Tests->TrainingTest".place, "Training->Tests->TrainingTest"."createdAt", "Training->Tests->TrainingTest"."updatedAt", "Training->Tests->TrainingTest".version, "Training->Tests".id, "Training->Tests".name, "Training->Tests".description, "Training->Tests"."time", "Training->Tests".retake_time, "Training->Tests".passing_percent, "Training->Tests".video_required, "Training->Tests"."createdAt", "Training->Tests"."updatedAt", "Training->Tests".version, "Training->Tests".organization_id, "Training->VideoRefs->TrainingsVideoRef"."TrainingId", "Training->VideoRefs->TrainingsVideoRef"."VideoRefId", "Training->VideoRefs->TrainingsVideoRef".required, "Training->VideoRefs->TrainingsVideoRef".place, "Training->VideoRefs->TrainingsVideoRef"."createdAt", "Training->VideoRefs->TrainingsVideoRef"."updatedAt", "Training->VideoRefs->TrainingsVideoRef".version, "Training->VideoRefs".id, "Training->VideoRefs".key, "Training->VideoRefs".s3_bucket, "Training->VideoRefs"."createdAt", "Training->VideoRefs"."updatedAt", "Training->VideoRefs".version, "Training->VideoRefs".organization_id, "Training->PdfRefs->TrainingsPdfRef".place, "Training->PdfRefs->TrainingsPdfRef"."createdAt", "Training->PdfRefs->TrainingsPdfRef"."updatedAt", "Training->PdfRefs->TrainingsPdfRef".version, "Training->PdfRefs->TrainingsPdfRef"."PdfRefId", "Training->PdfRefs->TrainingsPdfRef"."TrainingId", "Training->PdfRefs".id, "Training->PdfRefs".key, "Training->PdfRefs".s3_bucket, "Training->PdfRefs"."createdAt", "Training->PdfRefs"."updatedAt", "Training->PdfRefs".version, "Training->PdfRefs".organization_id, "Training->Certificates->TrainingsCertificate"."TrainingId", "Training->Certificates->TrainingsCertificate"."CertificateId", "Training->Certificates->TrainingsCertificate".place, "Training->Certificates->TrainingsCertificate".video_required, "Training->Certificates->TrainingsCertificate".test_required, "Training->Certificates->TrainingsCertificate".children_required, "Training->Certificates->TrainingsCertificate"."createdAt", "Training->Certificates->TrainingsCertificate"."updatedAt", "Training->Certificates->TrainingsCertificate".version, "Training->Certificates".id, "Training->Certificates".name, "Training->Certificates".author, "Training->Certificates".certs, "Training->Certificates".logo, "Training->Certificates".watermark, "Training->Certificates".pri_color, "Training->Certificates".sec_color, "Training->Certificates".instruction_minutes, "Training->Certificates"."createdAt", "Training->Certificates"."updatedAt", "Training->Certificates".version, "Training->Certificates".organization_id
  • Buckets: 1024 Batches: 1 Memory Usage: 201kB
8. 0.160 7.540 ↓ 3.2 57 1

Hash Left Join (cost=49.51..139.87 rows=18 width=8,243) (actual time=1.718..7.540 rows=57 loops=1)

  • Output: "Purchasable".id, "Purchasable".type, "Purchasable".name, "Purchasable".preview_video, "Purchasable".search_words, "Purchasable".description, "Purchasable".meta_title, "Purchasable".meta_description, "Purchasable".designed_for, "Purchasable".level, "Purchasable".overview, "Purchasable".sale_words, "Purchasable".main_points, "Purchasable".objectives, "Purchasable".training_minutes, "Purchasable".ceus, "Purchasable".price, "Purchasable".previous_price, "Purchasable".public_viewable, "Purchasable".live, "Purchasable".featured, "Purchasable".main_image, "Purchasable"."createdAt", "Purchasable"."updatedAt", "Purchasable"."ProductId", "Purchasable"."TrainingId", "Training".id, "Training".name, "Training".preview_video, "Training".search_words, "Training".short_name, "Training".description, "Training".meta_title, "Training".meta_description, "Training".designed_for, "Training".level, "Training".overview, "Training".objectives, "Training".training_minutes, "Training".ceus, "Training".price, "Training".previous_price, "Training".main_points, "Training".sale_words, "Training".public_viewable, "Training".live, "Training".coming_soon, "Training".featured, "Training".main_image, "Training"."createdAt", "Training"."updatedAt", "Training".version, "Training".organization_id, "Training->Tests->TrainingTest"."TrainingId", "Training->Tests->TrainingTest"."TestId", "Training->Tests->TrainingTest".video_required, "Training->Tests->TrainingTest".required, "Training->Tests->TrainingTest".place, "Training->Tests->TrainingTest"."createdAt", "Training->Tests->TrainingTest"."updatedAt", "Training->Tests->TrainingTest".version, "Training->Tests".id, "Training->Tests".name, "Training->Tests".description, "Training->Tests"."time", "Training->Tests".retake_time, "Training->Tests".passing_percent, "Training->Tests".video_required, "Training->Tests"."createdAt", "Training->Tests"."updatedAt", "Training->Tests".version, "Training->Tests".organization_id, "Training->VideoRefs->TrainingsVideoRef"."TrainingId", "Training->VideoRefs->TrainingsVideoRef"."VideoRefId", "Training->VideoRefs->TrainingsVideoRef".required, "Training->VideoRefs->TrainingsVideoRef".place, "Training->VideoRefs->TrainingsVideoRef"."createdAt", "Training->VideoRefs->TrainingsVideoRef"."updatedAt", "Training->VideoRefs->TrainingsVideoRef".version, "Training->VideoRefs".id, "Training->VideoRefs".key, "Training->VideoRefs".s3_bucket, "Training->VideoRefs"."createdAt", "Training->VideoRefs"."updatedAt", "Training->VideoRefs".version, "Training->VideoRefs".organization_id, "Training->PdfRefs->TrainingsPdfRef".place, "Training->PdfRefs->TrainingsPdfRef"."createdAt", "Training->PdfRefs->TrainingsPdfRef"."updatedAt", "Training->PdfRefs->TrainingsPdfRef".version, "Training->PdfRefs->TrainingsPdfRef"."PdfRefId", "Training->PdfRefs->TrainingsPdfRef"."TrainingId", "Training->PdfRefs".id, "Training->PdfRefs".key, "Training->PdfRefs".s3_bucket, "Training->PdfRefs"."createdAt", "Training->PdfRefs"."updatedAt", "Training->PdfRefs".version, "Training->PdfRefs".organization_id, "Training->Certificates->TrainingsCertificate"."TrainingId", "Training->Certificates->TrainingsCertificate"."CertificateId", "Training->Certificates->TrainingsCertificate".place, "Training->Certificates->TrainingsCertificate".video_required, "Training->Certificates->TrainingsCertificate".test_required, "Training->Certificates->TrainingsCertificate".children_required, "Training->Certificates->TrainingsCertificate"."createdAt", "Training->Certificates->TrainingsCertificate"."updatedAt", "Training->Certificates->TrainingsCertificate".version, "Training->Certificates".id, "Training->Certificates".name, "Training->Certificates".author, "Training->Certificates".certs, "Training->Certificates".logo, "Training->Certificates".watermark, "Training->Certificates".pri_color, "Training->Certificates".sec_color, "Training->Certificates".instruction_minutes, "Training->Certificates"."createdAt", "Training->Certificates"."updatedAt", "Training->Certificates".version, "Training->Certificates".organization_id
  • Hash Cond: ("Training".id = "Training->Certificates->TrainingsCertificate"."TrainingId")
9. 0.144 7.268 ↓ 3.2 57 1

Hash Left Join (cost=42.35..132.57 rows=18 width=7,559) (actual time=1.591..7.268 rows=57 loops=1)

  • Output: "Purchasable".id, "Purchasable".type, "Purchasable".name, "Purchasable".preview_video, "Purchasable".search_words, "Purchasable".description, "Purchasable".meta_title, "Purchasable".meta_description, "Purchasable".designed_for, "Purchasable".level, "Purchasable".overview, "Purchasable".sale_words, "Purchasable".main_points, "Purchasable".objectives, "Purchasable".training_minutes, "Purchasable".ceus, "Purchasable".price, "Purchasable".previous_price, "Purchasable".public_viewable, "Purchasable".live, "Purchasable".featured, "Purchasable".main_image, "Purchasable"."createdAt", "Purchasable"."updatedAt", "Purchasable"."ProductId", "Purchasable"."TrainingId", "Training".id, "Training".name, "Training".preview_video, "Training".search_words, "Training".short_name, "Training".description, "Training".meta_title, "Training".meta_description, "Training".designed_for, "Training".level, "Training".overview, "Training".objectives, "Training".training_minutes, "Training".ceus, "Training".price, "Training".previous_price, "Training".main_points, "Training".sale_words, "Training".public_viewable, "Training".live, "Training".coming_soon, "Training".featured, "Training".main_image, "Training"."createdAt", "Training"."updatedAt", "Training".version, "Training".organization_id, "Training->Tests->TrainingTest"."TrainingId", "Training->Tests->TrainingTest"."TestId", "Training->Tests->TrainingTest".video_required, "Training->Tests->TrainingTest".required, "Training->Tests->TrainingTest".place, "Training->Tests->TrainingTest"."createdAt", "Training->Tests->TrainingTest"."updatedAt", "Training->Tests->TrainingTest".version, "Training->Tests".id, "Training->Tests".name, "Training->Tests".description, "Training->Tests"."time", "Training->Tests".retake_time, "Training->Tests".passing_percent, "Training->Tests".video_required, "Training->Tests"."createdAt", "Training->Tests"."updatedAt", "Training->Tests".version, "Training->Tests".organization_id, "Training->VideoRefs->TrainingsVideoRef"."TrainingId", "Training->VideoRefs->TrainingsVideoRef"."VideoRefId", "Training->VideoRefs->TrainingsVideoRef".required, "Training->VideoRefs->TrainingsVideoRef".place, "Training->VideoRefs->TrainingsVideoRef"."createdAt", "Training->VideoRefs->TrainingsVideoRef"."updatedAt", "Training->VideoRefs->TrainingsVideoRef".version, "Training->VideoRefs".id, "Training->VideoRefs".key, "Training->VideoRefs".s3_bucket, "Training->VideoRefs"."createdAt", "Training->VideoRefs"."updatedAt", "Training->VideoRefs".version, "Training->VideoRefs".organization_id, "Training->PdfRefs->TrainingsPdfRef".place, "Training->PdfRefs->TrainingsPdfRef"."createdAt", "Training->PdfRefs->TrainingsPdfRef"."updatedAt", "Training->PdfRefs->TrainingsPdfRef".version, "Training->PdfRefs->TrainingsPdfRef"."PdfRefId", "Training->PdfRefs->TrainingsPdfRef"."TrainingId", "Training->PdfRefs".id, "Training->PdfRefs".key, "Training->PdfRefs".s3_bucket, "Training->PdfRefs"."createdAt", "Training->PdfRefs"."updatedAt", "Training->PdfRefs".version, "Training->PdfRefs".organization_id
  • Hash Cond: ("Training".id = "Training->PdfRefs->TrainingsPdfRef"."TrainingId")
10. 0.270 6.998 ↓ 2.7 49 1

Nested Loop Left Join (cost=37.57..127.59 rows=18 width=7,388) (actual time=1.447..6.998 rows=49 loops=1)

  • Output: "Purchasable".id, "Purchasable".type, "Purchasable".name, "Purchasable".preview_video, "Purchasable".search_words, "Purchasable".description, "Purchasable".meta_title, "Purchasable".meta_description, "Purchasable".designed_for, "Purchasable".level, "Purchasable".overview, "Purchasable".sale_words, "Purchasable".main_points, "Purchasable".objectives, "Purchasable".training_minutes, "Purchasable".ceus, "Purchasable".price, "Purchasable".previous_price, "Purchasable".public_viewable, "Purchasable".live, "Purchasable".featured, "Purchasable".main_image, "Purchasable"."createdAt", "Purchasable"."updatedAt", "Purchasable"."ProductId", "Purchasable"."TrainingId", "Training".id, "Training".name, "Training".preview_video, "Training".search_words, "Training".short_name, "Training".description, "Training".meta_title, "Training".meta_description, "Training".designed_for, "Training".level, "Training".overview, "Training".objectives, "Training".training_minutes, "Training".ceus, "Training".price, "Training".previous_price, "Training".main_points, "Training".sale_words, "Training".public_viewable, "Training".live, "Training".coming_soon, "Training".featured, "Training".main_image, "Training"."createdAt", "Training"."updatedAt", "Training".version, "Training".organization_id, "Training->Tests->TrainingTest"."TrainingId", "Training->Tests->TrainingTest"."TestId", "Training->Tests->TrainingTest".video_required, "Training->Tests->TrainingTest".required, "Training->Tests->TrainingTest".place, "Training->Tests->TrainingTest"."createdAt", "Training->Tests->TrainingTest"."updatedAt", "Training->Tests->TrainingTest".version, "Training->Tests".id, "Training->Tests".name, "Training->Tests".description, "Training->Tests"."time", "Training->Tests".retake_time, "Training->Tests".passing_percent, "Training->Tests".video_required, "Training->Tests"."createdAt", "Training->Tests"."updatedAt", "Training->Tests".version, "Training->Tests".organization_id, "Training->VideoRefs->TrainingsVideoRef"."TrainingId", "Training->VideoRefs->TrainingsVideoRef"."VideoRefId", "Training->VideoRefs->TrainingsVideoRef".required, "Training->VideoRefs->TrainingsVideoRef".place, "Training->VideoRefs->TrainingsVideoRef"."createdAt", "Training->VideoRefs->TrainingsVideoRef"."updatedAt", "Training->VideoRefs->TrainingsVideoRef".version, "Training->VideoRefs".id, "Training->VideoRefs".key, "Training->VideoRefs".s3_bucket, "Training->VideoRefs"."createdAt", "Training->VideoRefs"."updatedAt", "Training->VideoRefs".version, "Training->VideoRefs".organization_id
  • Join Filter: ("Training".id = "Training->VideoRefs->TrainingsVideoRef"."TrainingId")
  • Rows Removed by Join Filter: 192
11. 0.144 6.385 ↓ 2.7 49 1

Nested Loop Left Join (cost=36.48..122.57 rows=18 width=7,224) (actual time=1.154..6.385 rows=49 loops=1)

  • Output: "Purchasable".id, "Purchasable".type, "Purchasable".name, "Purchasable".preview_video, "Purchasable".search_words, "Purchasable".description, "Purchasable".meta_title, "Purchasable".meta_description, "Purchasable".designed_for, "Purchasable".level, "Purchasable".overview, "Purchasable".sale_words, "Purchasable".main_points, "Purchasable".objectives, "Purchasable".training_minutes, "Purchasable".ceus, "Purchasable".price, "Purchasable".previous_price, "Purchasable".public_viewable, "Purchasable".live, "Purchasable".featured, "Purchasable".main_image, "Purchasable"."createdAt", "Purchasable"."updatedAt", "Purchasable"."ProductId", "Purchasable"."TrainingId", "Training".id, "Training".name, "Training".preview_video, "Training".search_words, "Training".short_name, "Training".description, "Training".meta_title, "Training".meta_description, "Training".designed_for, "Training".level, "Training".overview, "Training".objectives, "Training".training_minutes, "Training".ceus, "Training".price, "Training".previous_price, "Training".main_points, "Training".sale_words, "Training".public_viewable, "Training".live, "Training".coming_soon, "Training".featured, "Training".main_image, "Training"."createdAt", "Training"."updatedAt", "Training".version, "Training".organization_id, "Training->Tests->TrainingTest"."TrainingId", "Training->Tests->TrainingTest"."TestId", "Training->Tests->TrainingTest".video_required, "Training->Tests->TrainingTest".required, "Training->Tests->TrainingTest".place, "Training->Tests->TrainingTest"."createdAt", "Training->Tests->TrainingTest"."updatedAt", "Training->Tests->TrainingTest".version, "Training->Tests".id, "Training->Tests".name, "Training->Tests".description, "Training->Tests"."time", "Training->Tests".retake_time, "Training->Tests".passing_percent, "Training->Tests".video_required, "Training->Tests"."createdAt", "Training->Tests"."updatedAt", "Training->Tests".version, "Training->Tests".organization_id
  • Join Filter: ("Training".id = "Training->Tests->TrainingTest"."TrainingId")
  • Rows Removed by Join Filter: 192
12. 0.020 5.947 ↓ 2.7 49 1

Limit (cost=35.39..117.12 rows=18 width=7,061) (actual time=0.919..5.947 rows=49 loops=1)

  • Output: "Purchasable".id, "Purchasable".type, "Purchasable".name, "Purchasable".preview_video, "Purchasable".search_words, "Purchasable".description, "Purchasable".meta_title, "Purchasable".meta_description, "Purchasable".designed_for, "Purchasable".level, "Purchasable".overview, "Purchasable".sale_words, "Purchasable".main_points, "Purchasable".objectives, "Purchasable".training_minutes, "Purchasable".ceus, "Purchasable".price, "Purchasable".previous_price, "Purchasable".public_viewable, "Purchasable".live, "Purchasable".featured, "Purchasable".main_image, "Purchasable"."createdAt", "Purchasable"."updatedAt", "Purchasable"."ProductId", "Purchasable"."TrainingId", "Training".id, "Training".name, "Training".preview_video, "Training".search_words, "Training".short_name, "Training".description, "Training".meta_title, "Training".meta_description, "Training".designed_for, "Training".level, "Training".overview, "Training".objectives, "Training".training_minutes, "Training".ceus, "Training".price, "Training".previous_price, "Training".main_points, "Training".sale_words, "Training".public_viewable, "Training".live, "Training".coming_soon, "Training".featured, "Training".main_image, "Training"."createdAt", "Training"."updatedAt", "Training".version, "Training".organization_id
13. 0.344 5.927 ↓ 2.7 49 1

Hash Join (cost=35.39..117.12 rows=18 width=7,061) (actual time=0.917..5.927 rows=49 loops=1)

  • Output: "Purchasable".id, "Purchasable".type, "Purchasable".name, "Purchasable".preview_video, "Purchasable".search_words, "Purchasable".description, "Purchasable".meta_title, "Purchasable".meta_description, "Purchasable".designed_for, "Purchasable".level, "Purchasable".overview, "Purchasable".sale_words, "Purchasable".main_points, "Purchasable".objectives, "Purchasable".training_minutes, "Purchasable".ceus, "Purchasable".price, "Purchasable".previous_price, "Purchasable".public_viewable, "Purchasable".live, "Purchasable".featured, "Purchasable".main_image, "Purchasable"."createdAt", "Purchasable"."updatedAt", "Purchasable"."ProductId", "Purchasable"."TrainingId", "Training".id, "Training".name, "Training".preview_video, "Training".search_words, "Training".short_name, "Training".description, "Training".meta_title, "Training".meta_description, "Training".designed_for, "Training".level, "Training".overview, "Training".objectives, "Training".training_minutes, "Training".ceus, "Training".price, "Training".previous_price, "Training".main_points, "Training".sale_words, "Training".public_viewable, "Training".live, "Training".coming_soon, "Training".featured, "Training".main_image, "Training"."createdAt", "Training"."updatedAt", "Training".version, "Training".organization_id
  • Inner Unique: true
  • Hash Cond: ("Purchasable"."TrainingId" = "Training".id)
14. 0.255 5.362 ↓ 2.7 49 1

Subquery Scan on Purchasable (cost=23.24..104.93 rows=18 width=3,443) (actual time=0.670..5.362 rows=49 loops=1)

  • Output: "Purchasable".id, "Purchasable".type, "Purchasable"."TrainingId", "Purchasable"."ProductId", "Purchasable".name, "Purchasable".preview_video, "Purchasable".designed_for, "Purchasable".description, "Purchasable".meta_title, "Purchasable".meta_description, "Purchasable".search_words, "Purchasable".level, "Purchasable".overview, "Purchasable".main_points, "Purchasable".previous_price, "Purchasable".sale_words, "Purchasable".objectives, "Purchasable".training_minutes, "Purchasable".ceus, "Purchasable".price, "Purchasable".main_image, "Purchasable".public_viewable, "Purchasable".live, "Purchasable".featured, "Purchasable"."createdAt", "Purchasable"."updatedAt", "Purchasable".version, "Purchasable".organization_id
  • Filter: ((SubPlan 1) IS NOT NULL)
  • Rows Removed by Filter: 1
15. 0.791 0.907 ↓ 2.8 50 1

HashAggregate (cost=23.24..23.42 rows=18 width=3,463) (actual time=0.590..0.907 rows=50 loops=1)

  • Output: "Trainings".id, ('training'::text), "Trainings".id, (NULL::uuid), "Trainings".name, "Trainings".preview_video, "Trainings".designed_for, "Trainings".description, "Trainings".meta_title, "Trainings".meta_description, "Trainings".search_words, "Trainings".level, "Trainings".overview, "Trainings".main_points, "Trainings".previous_price, "Trainings".sale_words, "Trainings".objectives, "Trainings".training_minutes, "Trainings".ceus, "Trainings".price, "Trainings".main_image, "Trainings".public_viewable, "Trainings".live, "Trainings".featured, "Trainings"."createdAt", "Trainings"."updatedAt", "Trainings".version, "Trainings".organization_id
  • Group Key: "Trainings".id, ('training'::text), "Trainings".id, (NULL::uuid), "Trainings".name, "Trainings".preview_video, "Trainings".designed_for, "Trainings".description, "Trainings".meta_title, "Trainings".meta_description, "Trainings".search_words, "Trainings".level, "Trainings".overview, "Trainings".main_points, "Trainings".previous_price, "Trainings".sale_words, "Trainings".objectives, "Trainings".training_minutes, "Trainings".ceus, "Trainings".price, "Trainings".main_image, "Trainings".public_viewable, "Trainings".live, "Trainings".featured, "Trainings"."createdAt", "Trainings"."updatedAt", "Trainings".version, "Trainings".organization_id
16. 0.014 0.116 ↓ 2.8 50 1

Append (cost=0.00..21.98 rows=18 width=3,463) (actual time=0.016..0.116 rows=50 loops=1)

17. 0.092 0.092 ↓ 3.8 50 1

Seq Scan on public."Trainings" (cost=0.00..11.51 rows=13 width=3,463) (actual time=0.014..0.092 rows=50 loops=1)

  • Output: "Trainings".id, 'training'::text, "Trainings".id, NULL::uuid, "Trainings".name, "Trainings".preview_video, "Trainings".designed_for, "Trainings".description, "Trainings".meta_title, "Trainings".meta_description, "Trainings".search_words, "Trainings".level, "Trainings".overview, "Trainings".main_points, "Trainings".previous_price, "Trainings".sale_words, "Trainings".objectives, "Trainings".training_minutes, "Trainings".ceus, "Trainings".price, "Trainings".main_image, "Trainings".public_viewable, "Trainings".live, "Trainings".featured, "Trainings"."createdAt", "Trainings"."updatedAt", "Trainings".version, "Trainings".organization_id
  • Filter: ("Trainings".live AND "Trainings".public_viewable)
  • Rows Removed by Filter: 1
18. 0.010 0.010 ↓ 0.0 0 1

Seq Scan on public."Products" (cost=0.00..10.20 rows=5 width=3,463) (actual time=0.010..0.010 rows=0 loops=1)

  • Output: "Products".id, 'product'::text, NULL::uuid, "Products".id, "Products".name, "Products".preview_video, "Products".designed_for, "Products".description, "Products".meta_title, "Products".meta_description, "Products".search_words, "Products".level, "Products".overview, "Products".main_points, "Products".previous_price, "Products".sale_words, "Products".objectives, "Products".training_minutes, "Products".ceus, "Products".price, "Products".main_image, "Products".public_viewable, "Products".live, "Products".featured, "Products"."createdAt", "Products"."updatedAt", "Products".version, "Products".organization_id
  • Filter: ("Products".live AND "Products".public_viewable)
19.          

SubPlan (for Subquery Scan)

20. 0.150 4.200 ↑ 1.0 1 50

Limit (cost=0.14..4.52 rows=1 width=16) (actual time=0.081..0.084 rows=1 loops=50)

  • Output: "Training_1".id
21. 0.516 4.050 ↑ 3.0 1 50

Nested Loop (cost=0.14..13.28 rows=3 width=16) (actual time=0.080..0.081 rows=1 loops=50)

  • Output: "Training_1".id
22. 0.299 2.750 ↑ 3.0 1 50

Nested Loop (cost=0.00..5.08 rows=3 width=16) (actual time=0.054..0.055 rows=1 loops=50)

  • Output: "Categories->TrainingsCategory"."TrainingId
  • Inner Unique: true
  • Join Filter: ("Categories->TrainingsCategory"."CategoryId" = "Categories".id)
  • Rows Removed by Join Filter: 1
23. 0.250 0.250 ↑ 6.0 1 50

Seq Scan on public."Categories" (cost=0.00..1.06 rows=6 width=16) (actual time=0.004..0.005 rows=1 loops=50)

  • Output: "Categories".id, "Categories".name, "Categories"."createdAt", "Categories"."updatedAt", "Categories".version, "Categories"."OrganizationId
24. 0.401 2.201 ↑ 3.0 1 71

Materialize (cost=0.00..3.78 rows=3 width=32) (actual time=0.017..0.031 rows=1 loops=71)

  • Output: "Categories->TrainingsCategory"."CategoryId", "Categories->TrainingsCategory"."TrainingId
25. 1.800 1.800 ↑ 3.0 1 50

Seq Scan on public."TrainingsCategories" "Categories->TrainingsCategory" (cost=0.00..3.76 rows=3 width=32) (actual time=0.016..0.036 rows=1 loops=50)

  • Output: "Categories->TrainingsCategory"."CategoryId", "Categories->TrainingsCategory"."TrainingId
  • Filter: ("Categories->TrainingsCategory"."TrainingId" = "Purchasable"."TrainingId")
  • Rows Removed by Filter: 61
26. 0.392 0.784 ↑ 1.0 1 49

Materialize (cost=0.14..8.16 rows=1 width=16) (actual time=0.015..0.016 rows=1 loops=49)

  • Output: "Training_1".id
27. 0.392 0.392 ↑ 1.0 1 49

Index Only Scan using "Trainings_pkey" on public."Trainings" "Training_1" (cost=0.14..8.16 rows=1 width=16) (actual time=0.008..0.008 rows=1 loops=49)

  • Output: "Training_1".id
  • Index Cond: ("Training_1".id = "Purchasable"."TrainingId")
  • Heap Fetches: 49
28. 0.120 0.221 ↑ 1.0 51 1

Hash (cost=11.51..11.51 rows=51 width=3,618) (actual time=0.220..0.221 rows=51 loops=1)

  • Output: "Training".id, "Training".name, "Training".preview_video, "Training".search_words, "Training".short_name, "Training".description, "Training".meta_title, "Training".meta_description, "Training".designed_for, "Training".level, "Training".overview, "Training".objectives, "Training".training_minutes, "Training".ceus, "Training".price, "Training".previous_price, "Training".main_points, "Training".sale_words, "Training".public_viewable, "Training".live, "Training".coming_soon, "Training".featured, "Training".main_image, "Training"."createdAt", "Training"."updatedAt", "Training".version, "Training".organization_id
  • Buckets: 1024 Batches: 1 Memory Usage: 86kB
29. 0.101 0.101 ↑ 1.0 51 1

Seq Scan on public."Trainings" "Training" (cost=0.00..11.51 rows=51 width=3,618) (actual time=0.019..0.101 rows=51 loops=1)

  • Output: "Training".id, "Training".name, "Training".preview_video, "Training".search_words, "Training".short_name, "Training".description, "Training".meta_title, "Training".meta_description, "Training".designed_for, "Training".level, "Training".overview, "Training".objectives, "Training".training_minutes, "Training".ceus, "Training".price, "Training".previous_price, "Training".main_points, "Training".sale_words, "Training".public_viewable, "Training".live, "Training".coming_soon, "Training".featured, "Training".main_image, "Training"."createdAt", "Training"."updatedAt", "Training".version, "Training".organization_id
30. 0.075 0.294 ↑ 1.0 4 49

Materialize (cost=1.09..4.20 rows=4 width=163) (actual time=0.004..0.006 rows=4 loops=49)

  • Output: "Training->Tests->TrainingTest"."TrainingId", "Training->Tests->TrainingTest"."TestId", "Training->Tests->TrainingTest".video_required, "Training->Tests->TrainingTest".required, "Training->Tests->TrainingTest".place, "Training->Tests->TrainingTest"."createdAt", "Training->Tests->TrainingTest"."updatedAt", "Training->Tests->TrainingTest".version, "Training->Tests".id, "Training->Tests".name, "Training->Tests".description, "Training->Tests"."time", "Training->Tests".retake_time, "Training->Tests".passing_percent, "Training->Tests".video_required, "Training->Tests"."createdAt", "Training->Tests"."updatedAt", "Training->Tests".version, "Training->Tests".organization_id
31. 0.040 0.219 ↑ 1.0 4 1

Hash Join (cost=1.09..4.17 rows=4 width=163) (actual time=0.183..0.219 rows=4 loops=1)

  • Output: "Training->Tests->TrainingTest"."TrainingId", "Training->Tests->TrainingTest"."TestId", "Training->Tests->TrainingTest".video_required, "Training->Tests->TrainingTest".required, "Training->Tests->TrainingTest".place, "Training->Tests->TrainingTest"."createdAt", "Training->Tests->TrainingTest"."updatedAt", "Training->Tests->TrainingTest".version, "Training->Tests".id, "Training->Tests".name, "Training->Tests".description, "Training->Tests"."time", "Training->Tests".retake_time, "Training->Tests".passing_percent, "Training->Tests".video_required, "Training->Tests"."createdAt", "Training->Tests"."updatedAt", "Training->Tests".version, "Training->Tests".organization_id
  • Hash Cond: ("Training->Tests".id = "Training->Tests->TrainingTest"."TestId")
32. 0.030 0.030 ↑ 1.0 76 1

Seq Scan on public."Tests" "Training->Tests" (cost=0.00..2.76 rows=76 width=105) (actual time=0.015..0.030 rows=76 loops=1)

  • Output: "Training->Tests".id, "Training->Tests".name, "Training->Tests".description, "Training->Tests"."time", "Training->Tests".retake_time, "Training->Tests".passing_percent, "Training->Tests".video_required, "Training->Tests"."createdAt", "Training->Tests"."updatedAt", "Training->Tests".organization_id, "Training->Tests".version
33. 0.007 0.149 ↑ 1.0 4 1

Hash (cost=1.04..1.04 rows=4 width=58) (actual time=0.149..0.149 rows=4 loops=1)

  • Output: "Training->Tests->TrainingTest"."TrainingId", "Training->Tests->TrainingTest"."TestId", "Training->Tests->TrainingTest".video_required, "Training->Tests->TrainingTest".required, "Training->Tests->TrainingTest".place, "Training->Tests->TrainingTest"."createdAt", "Training->Tests->TrainingTest"."updatedAt", "Training->Tests->TrainingTest".version
  • Buckets: 1024 Batches: 1 Memory Usage: 9kB
34. 0.142 0.142 ↑ 1.0 4 1

Seq Scan on public."TrainingTests" "Training->Tests->TrainingTest" (cost=0.00..1.04 rows=4 width=58) (actual time=0.140..0.142 rows=4 loops=1)

  • Output: "Training->Tests->TrainingTest"."TrainingId", "Training->Tests->TrainingTest"."TestId", "Training->Tests->TrainingTest".video_required, "Training->Tests->TrainingTest".required, "Training->Tests->TrainingTest".place, "Training->Tests->TrainingTest"."createdAt", "Training->Tests->TrainingTest"."updatedAt", "Training->Tests->TrainingTest".version
35. 0.067 0.343 ↑ 1.0 4 49

Materialize (cost=1.09..3.95 rows=4 width=164) (actual time=0.001..0.007 rows=4 loops=49)

  • Output: "Training->VideoRefs->TrainingsVideoRef"."TrainingId", "Training->VideoRefs->TrainingsVideoRef"."VideoRefId", "Training->VideoRefs->TrainingsVideoRef".required, "Training->VideoRefs->TrainingsVideoRef".place, "Training->VideoRefs->TrainingsVideoRef"."createdAt", "Training->VideoRefs->TrainingsVideoRef"."updatedAt", "Training->VideoRefs->TrainingsVideoRef".version, "Training->VideoRefs".id, "Training->VideoRefs".key, "Training->VideoRefs".s3_bucket, "Training->VideoRefs"."createdAt", "Training->VideoRefs"."updatedAt", "Training->VideoRefs".version, "Training->VideoRefs".organization_id
36. 0.032 0.276 ↑ 1.0 4 1

Hash Join (cost=1.09..3.93 rows=4 width=164) (actual time=0.048..0.276 rows=4 loops=1)

  • Output: "Training->VideoRefs->TrainingsVideoRef"."TrainingId", "Training->VideoRefs->TrainingsVideoRef"."VideoRefId", "Training->VideoRefs->TrainingsVideoRef".required, "Training->VideoRefs->TrainingsVideoRef".place, "Training->VideoRefs->TrainingsVideoRef"."createdAt", "Training->VideoRefs->TrainingsVideoRef"."updatedAt", "Training->VideoRefs->TrainingsVideoRef".version, "Training->VideoRefs".id, "Training->VideoRefs".key, "Training->VideoRefs".s3_bucket, "Training->VideoRefs"."createdAt", "Training->VideoRefs"."updatedAt", "Training->VideoRefs".version, "Training->VideoRefs".organization_id
  • Hash Cond: ("Training->VideoRefs".id = "Training->VideoRefs->TrainingsVideoRef"."VideoRefId")
37. 0.223 0.223 ↑ 1.0 58 1

Seq Scan on public."VideoRefs" "Training->VideoRefs" (cost=0.00..2.58 rows=58 width=107) (actual time=0.015..0.223 rows=58 loops=1)

  • Output: "Training->VideoRefs".id, "Training->VideoRefs".key, "Training->VideoRefs".s3_bucket, "Training->VideoRefs"."createdAt", "Training->VideoRefs"."updatedAt", "Training->VideoRefs".organization_id, "Training->VideoRefs".version
38. 0.006 0.021 ↑ 1.0 4 1

Hash (cost=1.04..1.04 rows=4 width=57) (actual time=0.021..0.021 rows=4 loops=1)

  • Output: "Training->VideoRefs->TrainingsVideoRef"."TrainingId", "Training->VideoRefs->TrainingsVideoRef"."VideoRefId", "Training->VideoRefs->TrainingsVideoRef".required, "Training->VideoRefs->TrainingsVideoRef".place, "Training->VideoRefs->TrainingsVideoRef"."createdAt", "Training->VideoRefs->TrainingsVideoRef"."updatedAt", "Training->VideoRefs->TrainingsVideoRef".version
  • Buckets: 1024 Batches: 1 Memory Usage: 9kB
39. 0.015 0.015 ↑ 1.0 4 1

Seq Scan on public."TrainingsVideoRefs" "Training->VideoRefs->TrainingsVideoRef" (cost=0.00..1.04 rows=4 width=57) (actual time=0.013..0.015 rows=4 loops=1)

  • Output: "Training->VideoRefs->TrainingsVideoRef"."TrainingId", "Training->VideoRefs->TrainingsVideoRef"."VideoRefId", "Training->VideoRefs->TrainingsVideoRef".required, "Training->VideoRefs->TrainingsVideoRef".place, "Training->VideoRefs->TrainingsVideoRef"."createdAt", "Training->VideoRefs->TrainingsVideoRef"."updatedAt", "Training->VideoRefs->TrainingsVideoRef".version
40. 0.014 0.126 ↑ 1.0 13 1

Hash (cost=4.62..4.62 rows=13 width=171) (actual time=0.126..0.126 rows=13 loops=1)

  • Output: "Training->PdfRefs->TrainingsPdfRef".place, "Training->PdfRefs->TrainingsPdfRef"."createdAt", "Training->PdfRefs->TrainingsPdfRef"."updatedAt", "Training->PdfRefs->TrainingsPdfRef".version, "Training->PdfRefs->TrainingsPdfRef"."PdfRefId", "Training->PdfRefs->TrainingsPdfRef"."TrainingId", "Training->PdfRefs".id, "Training->PdfRefs".key, "Training->PdfRefs".s3_bucket, "Training->PdfRefs"."createdAt", "Training->PdfRefs"."updatedAt", "Training->PdfRefs".version, "Training->PdfRefs".organization_id
  • Buckets: 1024 Batches: 1 Memory Usage: 11kB
41. 0.046 0.112 ↑ 1.0 13 1

Hash Join (cost=1.29..4.62 rows=13 width=171) (actual time=0.059..0.112 rows=13 loops=1)

  • Output: "Training->PdfRefs->TrainingsPdfRef".place, "Training->PdfRefs->TrainingsPdfRef"."createdAt", "Training->PdfRefs->TrainingsPdfRef"."updatedAt", "Training->PdfRefs->TrainingsPdfRef".version, "Training->PdfRefs->TrainingsPdfRef"."PdfRefId", "Training->PdfRefs->TrainingsPdfRef"."TrainingId", "Training->PdfRefs".id, "Training->PdfRefs".key, "Training->PdfRefs".s3_bucket, "Training->PdfRefs"."createdAt", "Training->PdfRefs"."updatedAt", "Training->PdfRefs".version, "Training->PdfRefs".organization_id
  • Hash Cond: ("Training->PdfRefs".id = "Training->PdfRefs->TrainingsPdfRef"."PdfRefId")
42. 0.036 0.036 ↑ 1.0 87 1

Seq Scan on public."PdfRefs" "Training->PdfRefs" (cost=0.00..2.87 rows=87 width=115) (actual time=0.017..0.036 rows=87 loops=1)

  • Output: "Training->PdfRefs".id, "Training->PdfRefs".key, "Training->PdfRefs".s3_bucket, "Training->PdfRefs"."createdAt", "Training->PdfRefs"."updatedAt", "Training->PdfRefs".organization_id, "Training->PdfRefs".version
43. 0.011 0.030 ↑ 1.0 13 1

Hash (cost=1.13..1.13 rows=13 width=56) (actual time=0.030..0.030 rows=13 loops=1)

  • Output: "Training->PdfRefs->TrainingsPdfRef".place, "Training->PdfRefs->TrainingsPdfRef"."createdAt", "Training->PdfRefs->TrainingsPdfRef"."updatedAt", "Training->PdfRefs->TrainingsPdfRef".version, "Training->PdfRefs->TrainingsPdfRef"."PdfRefId", "Training->PdfRefs->TrainingsPdfRef"."TrainingId
  • Buckets: 1024 Batches: 1 Memory Usage: 10kB
44. 0.019 0.019 ↑ 1.0 13 1

Seq Scan on public."TrainingsPdfRefs" "Training->PdfRefs->TrainingsPdfRef" (cost=0.00..1.13 rows=13 width=56) (actual time=0.013..0.019 rows=13 loops=1)

  • Output: "Training->PdfRefs->TrainingsPdfRef".place, "Training->PdfRefs->TrainingsPdfRef"."createdAt", "Training->PdfRefs->TrainingsPdfRef"."updatedAt", "Training->PdfRefs->TrainingsPdfRef".version, "Training->PdfRefs->TrainingsPdfRef"."PdfRefId", "Training->PdfRefs->TrainingsPdfRef"."TrainingId
45. 0.015 0.112 ↑ 1.0 8 1

Hash (cost=7.06..7.06 rows=8 width=684) (actual time=0.112..0.112 rows=8 loops=1)

  • Output: "Training->Certificates->TrainingsCertificate"."TrainingId", "Training->Certificates->TrainingsCertificate"."CertificateId", "Training->Certificates->TrainingsCertificate".place, "Training->Certificates->TrainingsCertificate".video_required, "Training->Certificates->TrainingsCertificate".test_required, "Training->Certificates->TrainingsCertificate".children_required, "Training->Certificates->TrainingsCertificate"."createdAt", "Training->Certificates->TrainingsCertificate"."updatedAt", "Training->Certificates->TrainingsCertificate".version, "Training->Certificates".id, "Training->Certificates".name, "Training->Certificates".author, "Training->Certificates".certs, "Training->Certificates".logo, "Training->Certificates".watermark, "Training->Certificates".pri_color, "Training->Certificates".sec_color, "Training->Certificates".instruction_minutes, "Training->Certificates"."createdAt", "Training->Certificates"."updatedAt", "Training->Certificates".version, "Training->Certificates".organization_id
  • Buckets: 1024 Batches: 1 Memory Usage: 14kB
46. 0.037 0.097 ↑ 1.0 8 1

Hash Join (cost=1.18..7.06 rows=8 width=684) (actual time=0.048..0.097 rows=8 loops=1)

  • Output: "Training->Certificates->TrainingsCertificate"."TrainingId", "Training->Certificates->TrainingsCertificate"."CertificateId", "Training->Certificates->TrainingsCertificate".place, "Training->Certificates->TrainingsCertificate".video_required, "Training->Certificates->TrainingsCertificate".test_required, "Training->Certificates->TrainingsCertificate".children_required, "Training->Certificates->TrainingsCertificate"."createdAt", "Training->Certificates->TrainingsCertificate"."updatedAt", "Training->Certificates->TrainingsCertificate".version, "Training->Certificates".id, "Training->Certificates".name, "Training->Certificates".author, "Training->Certificates".certs, "Training->Certificates".logo, "Training->Certificates".watermark, "Training->Certificates".pri_color, "Training->Certificates".sec_color, "Training->Certificates".instruction_minutes, "Training->Certificates"."createdAt", "Training->Certificates"."updatedAt", "Training->Certificates".version, "Training->Certificates".organization_id
  • Hash Cond: ("Training->Certificates".id = "Training->Certificates->TrainingsCertificate"."CertificateId")
47. 0.037 0.037 ↑ 1.0 58 1

Seq Scan on public."Certificates" "Training->Certificates" (cost=0.00..5.58 rows=58 width=625) (actual time=0.013..0.037 rows=58 loops=1)

  • Output: "Training->Certificates".id, "Training->Certificates".name, "Training->Certificates".author, "Training->Certificates".certs, "Training->Certificates".logo, "Training->Certificates".watermark, "Training->Certificates".pri_color, "Training->Certificates".sec_color, "Training->Certificates".instruction_minutes, "Training->Certificates"."createdAt", "Training->Certificates"."updatedAt", "Training->Certificates".organization_id, "Training->Certificates".version
48. 0.008 0.023 ↑ 1.0 8 1

Hash (cost=1.08..1.08 rows=8 width=59) (actual time=0.023..0.023 rows=8 loops=1)

  • Output: "Training->Certificates->TrainingsCertificate"."TrainingId", "Training->Certificates->TrainingsCertificate"."CertificateId", "Training->Certificates->TrainingsCertificate".place, "Training->Certificates->TrainingsCertificate".video_required, "Training->Certificates->TrainingsCertificate".test_required, "Training->Certificates->TrainingsCertificate".children_required, "Training->Certificates->TrainingsCertificate"."createdAt", "Training->Certificates->TrainingsCertificate"."updatedAt", "Training->Certificates->TrainingsCertificate".version
  • Buckets: 1024 Batches: 1 Memory Usage: 9kB
49. 0.015 0.015 ↑ 1.0 8 1

Seq Scan on public."TrainingsCertificates" "Training->Certificates->TrainingsCertificate" (cost=0.00..1.08 rows=8 width=59) (actual time=0.011..0.015 rows=8 loops=1)

  • Output: "Training->Certificates->TrainingsCertificate"."TrainingId", "Training->Certificates->TrainingsCertificate"."CertificateId", "Training->Certificates->TrainingsCertificate".place, "Training->Certificates->TrainingsCertificate".video_required, "Training->Certificates->TrainingsCertificate".test_required, "Training->Certificates->TrainingsCertificate".children_required, "Training->Certificates->TrainingsCertificate"."createdAt", "Training->Certificates->TrainingsCertificate"."updatedAt", "Training->Certificates->TrainingsCertificate".version
50. 0.148 2.364 ↓ 1.1 65 1

Hash (cost=17.42..17.42 rows=60 width=2,217) (actual time=2.364..2.364 rows=65 loops=1)

  • Output: "Training->TrainingsParts->Unit".id, "Training->TrainingsParts->Unit".name, "Training->TrainingsParts->Unit".preview_video, "Training->TrainingsParts->Unit".short_name, "Training->TrainingsParts->Unit".description, "Training->TrainingsParts->Unit".short_description, "Training->TrainingsParts->Unit".main_image, "Training->TrainingsParts->Unit"."createdAt", "Training->TrainingsParts->Unit"."updatedAt", "Training->TrainingsParts->Unit".version, "Training->TrainingsParts->Unit".organization_id, "Training->TrainingsParts->Unit->VideoRefs->UnitsVideoRef"."UnitId", "Training->TrainingsParts->Unit->VideoRefs->UnitsVideoRef"."VideoRefId", "Training->TrainingsParts->Unit->VideoRefs->UnitsVideoRef".required, "Training->TrainingsParts->Unit->VideoRefs->UnitsVideoRef".place, "Training->TrainingsParts->Unit->VideoRefs->UnitsVideoRef"."createdAt", "Training->TrainingsParts->Unit->VideoRefs->UnitsVideoRef"."updatedAt", "Training->TrainingsParts->Unit->VideoRefs->UnitsVideoRef".version, "Training->TrainingsParts->Unit->VideoRefs".id, "Training->TrainingsParts->Unit->VideoRefs".key, "Training->TrainingsParts->Unit->VideoRefs".s3_bucket, "Training->TrainingsParts->Unit->VideoRefs"."createdAt", "Training->TrainingsParts->Unit->VideoRefs"."updatedAt", "Training->TrainingsParts->Unit->VideoRefs".version, "Training->TrainingsParts->Unit->VideoRefs".organization_id, "Training->TrainingsParts->Unit->PdfRefs->UnitsPdfRef".place, "Training->TrainingsParts->Unit->PdfRefs->UnitsPdfRef"."createdAt", "Training->TrainingsParts->Unit->PdfRefs->UnitsPdfRef"."updatedAt", "Training->TrainingsParts->Unit->PdfRefs->UnitsPdfRef".version, "Training->TrainingsParts->Unit->PdfRefs->UnitsPdfRef"."PdfRefId", "Training->TrainingsParts->Unit->PdfRefs->UnitsPdfRef"."UnitId", "Training->TrainingsParts->Unit->PdfRefs".id, "Training->TrainingsParts->Unit->PdfRefs".key, "Training->TrainingsParts->Unit->PdfRefs".s3_bucket, "Training->TrainingsParts->Unit->PdfRefs"."createdAt", "Training->TrainingsParts->Unit->PdfRefs"."updatedAt", "Training->TrainingsParts->Unit->PdfRefs".version, "Training->TrainingsParts->Unit->PdfRefs".organization_id
  • Buckets: 1024 Batches: 1 Memory Usage: 66kB
51. 0.320 2.216 ↓ 1.1 65 1

Hash Left Join (cost=14.72..17.42 rows=60 width=2,217) (actual time=1.946..2.216 rows=65 loops=1)

  • Output: "Training->TrainingsParts->Unit".id, "Training->TrainingsParts->Unit".name, "Training->TrainingsParts->Unit".preview_video, "Training->TrainingsParts->Unit".short_name, "Training->TrainingsParts->Unit".description, "Training->TrainingsParts->Unit".short_description, "Training->TrainingsParts->Unit".main_image, "Training->TrainingsParts->Unit"."createdAt", "Training->TrainingsParts->Unit"."updatedAt", "Training->TrainingsParts->Unit".version, "Training->TrainingsParts->Unit".organization_id, "Training->TrainingsParts->Unit->VideoRefs->UnitsVideoRef"."UnitId", "Training->TrainingsParts->Unit->VideoRefs->UnitsVideoRef"."VideoRefId", "Training->TrainingsParts->Unit->VideoRefs->UnitsVideoRef".required, "Training->TrainingsParts->Unit->VideoRefs->UnitsVideoRef".place, "Training->TrainingsParts->Unit->VideoRefs->UnitsVideoRef"."createdAt", "Training->TrainingsParts->Unit->VideoRefs->UnitsVideoRef"."updatedAt", "Training->TrainingsParts->Unit->VideoRefs->UnitsVideoRef".version, "Training->TrainingsParts->Unit->VideoRefs".id, "Training->TrainingsParts->Unit->VideoRefs".key, "Training->TrainingsParts->Unit->VideoRefs".s3_bucket, "Training->TrainingsParts->Unit->VideoRefs"."createdAt", "Training->TrainingsParts->Unit->VideoRefs"."updatedAt", "Training->TrainingsParts->Unit->VideoRefs".version, "Training->TrainingsParts->Unit->VideoRefs".organization_id, "Training->TrainingsParts->Unit->PdfRefs->UnitsPdfRef".place, "Training->TrainingsParts->Unit->PdfRefs->UnitsPdfRef"."createdAt", "Training->TrainingsParts->Unit->PdfRefs->UnitsPdfRef"."updatedAt", "Training->TrainingsParts->Unit->PdfRefs->UnitsPdfRef".version, "Training->TrainingsParts->Unit->PdfRefs->UnitsPdfRef"."PdfRefId", "Training->TrainingsParts->Unit->PdfRefs->UnitsPdfRef"."UnitId", "Training->TrainingsParts->Unit->PdfRefs".id, "Training->TrainingsParts->Unit->PdfRefs".key, "Training->TrainingsParts->Unit->PdfRefs".s3_bucket, "Training->TrainingsParts->Unit->PdfRefs"."createdAt", "Training->TrainingsParts->Unit->PdfRefs"."updatedAt", "Training->TrainingsParts->Unit->PdfRefs".version, "Training->TrainingsParts->Unit->PdfRefs".organization_id
  • Hash Cond: ("Training->TrainingsParts->Unit".id = "Training->TrainingsParts->Unit->VideoRefs->UnitsVideoRef"."UnitId")
52. 0.101 0.549 ↓ 1.1 65 1

Hash Right Join (cost=9.17..11.11 rows=60 width=2,053) (actual time=0.362..0.549 rows=65 loops=1)

  • Output: "Training->TrainingsParts->Unit".id, "Training->TrainingsParts->Unit".name, "Training->TrainingsParts->Unit".preview_video, "Training->TrainingsParts->Unit".short_name, "Training->TrainingsParts->Unit".description, "Training->TrainingsParts->Unit".short_description, "Training->TrainingsParts->Unit".main_image, "Training->TrainingsParts->Unit"."createdAt", "Training->TrainingsParts->Unit"."updatedAt", "Training->TrainingsParts->Unit".version, "Training->TrainingsParts->Unit".organization_id, "Training->TrainingsParts->Unit->PdfRefs->UnitsPdfRef".place, "Training->TrainingsParts->Unit->PdfRefs->UnitsPdfRef"."createdAt", "Training->TrainingsParts->Unit->PdfRefs->UnitsPdfRef"."updatedAt", "Training->TrainingsParts->Unit->PdfRefs->UnitsPdfRef".version, "Training->TrainingsParts->Unit->PdfRefs->UnitsPdfRef"."PdfRefId", "Training->TrainingsParts->Unit->PdfRefs->UnitsPdfRef"."UnitId", "Training->TrainingsParts->Unit->PdfRefs".id, "Training->TrainingsParts->Unit->PdfRefs".key, "Training->TrainingsParts->Unit->PdfRefs".s3_bucket, "Training->TrainingsParts->Unit->PdfRefs"."createdAt", "Training->TrainingsParts->Unit->PdfRefs"."updatedAt", "Training->TrainingsParts->Unit->PdfRefs".version, "Training->TrainingsParts->Unit->PdfRefs".organization_id
  • Inner Unique: true
  • Hash Cond: ("Training->TrainingsParts->Unit->PdfRefs->UnitsPdfRef"."UnitId" = "Training->TrainingsParts->Unit".id)
53. 0.108 0.284 ↑ 1.0 60 1

Hash Join (cost=3.96..5.73 rows=60 width=171) (actual time=0.184..0.284 rows=60 loops=1)

  • Output: "Training->TrainingsParts->Unit->PdfRefs->UnitsPdfRef".place, "Training->TrainingsParts->Unit->PdfRefs->UnitsPdfRef"."createdAt", "Training->TrainingsParts->Unit->PdfRefs->UnitsPdfRef"."updatedAt", "Training->TrainingsParts->Unit->PdfRefs->UnitsPdfRef".version, "Training->TrainingsParts->Unit->PdfRefs->UnitsPdfRef"."PdfRefId", "Training->TrainingsParts->Unit->PdfRefs->UnitsPdfRef"."UnitId", "Training->TrainingsParts->Unit->PdfRefs".id, "Training->TrainingsParts->Unit->PdfRefs".key, "Training->TrainingsParts->Unit->PdfRefs".s3_bucket, "Training->TrainingsParts->Unit->PdfRefs"."createdAt", "Training->TrainingsParts->Unit->PdfRefs"."updatedAt", "Training->TrainingsParts->Unit->PdfRefs".version, "Training->TrainingsParts->Unit->PdfRefs".organization_id
  • Inner Unique: true
  • Hash Cond: ("Training->TrainingsParts->Unit->PdfRefs->UnitsPdfRef"."PdfRefId" = "Training->TrainingsParts->Unit->PdfRefs".id)
54. 0.038 0.038 ↑ 1.0 60 1

Seq Scan on public."UnitsPdfRefs" "Training->TrainingsParts->Unit->PdfRefs->UnitsPdfRef" (cost=0.00..1.60 rows=60 width=56) (actual time=0.022..0.038 rows=60 loops=1)

  • Output: "Training->TrainingsParts->Unit->PdfRefs->UnitsPdfRef"."createdAt", "Training->TrainingsParts->Unit->PdfRefs->UnitsPdfRef"."updatedAt", "Training->TrainingsParts->Unit->PdfRefs->UnitsPdfRef"."UnitId", "Training->TrainingsParts->Unit->PdfRefs->UnitsPdfRef"."PdfRefId", "Training->TrainingsParts->Unit->PdfRefs->UnitsPdfRef".place, "Training->TrainingsParts->Unit->PdfRefs->UnitsPdfRef".version
55. 0.065 0.138 ↑ 1.0 87 1

Hash (cost=2.87..2.87 rows=87 width=115) (actual time=0.138..0.138 rows=87 loops=1)

  • Output: "Training->TrainingsParts->Unit->PdfRefs".id, "Training->TrainingsParts->Unit->PdfRefs".key, "Training->TrainingsParts->Unit->PdfRefs".s3_bucket, "Training->TrainingsParts->Unit->PdfRefs"."createdAt", "Training->TrainingsParts->Unit->PdfRefs"."updatedAt", "Training->TrainingsParts->Unit->PdfRefs".version, "Training->TrainingsParts->Unit->PdfRefs".organization_id
  • Buckets: 1024 Batches: 1 Memory Usage: 21kB
56. 0.073 0.073 ↑ 1.0 87 1

Seq Scan on public."PdfRefs" "Training->TrainingsParts->Unit->PdfRefs" (cost=0.00..2.87 rows=87 width=115) (actual time=0.023..0.073 rows=87 loops=1)

  • Output: "Training->TrainingsParts->Unit->PdfRefs".id, "Training->TrainingsParts->Unit->PdfRefs".key, "Training->TrainingsParts->Unit->PdfRefs".s3_bucket, "Training->TrainingsParts->Unit->PdfRefs"."createdAt", "Training->TrainingsParts->Unit->PdfRefs"."updatedAt", "Training->TrainingsParts->Unit->PdfRefs".version, "Training->TrainingsParts->Unit->PdfRefs".organization_id
57. 0.077 0.164 ↑ 1.0 54 1

Hash (cost=4.54..4.54 rows=54 width=1,882) (actual time=0.164..0.164 rows=54 loops=1)

  • Output: "Training->TrainingsParts->Unit".id, "Training->TrainingsParts->Unit".name, "Training->TrainingsParts->Unit".preview_video, "Training->TrainingsParts->Unit".short_name, "Training->TrainingsParts->Unit".description, "Training->TrainingsParts->Unit".short_description, "Training->TrainingsParts->Unit".main_image, "Training->TrainingsParts->Unit"."createdAt", "Training->TrainingsParts->Unit"."updatedAt", "Training->TrainingsParts->Unit".version, "Training->TrainingsParts->Unit".organization_id
  • Buckets: 1024 Batches: 1 Memory Usage: 40kB
58. 0.087 0.087 ↑ 1.0 54 1

Seq Scan on public."Units" "Training->TrainingsParts->Unit" (cost=0.00..4.54 rows=54 width=1,882) (actual time=0.031..0.087 rows=54 loops=1)

  • Output: "Training->TrainingsParts->Unit".id, "Training->TrainingsParts->Unit".name, "Training->TrainingsParts->Unit".preview_video, "Training->TrainingsParts->Unit".short_name, "Training->TrainingsParts->Unit".description, "Training->TrainingsParts->Unit".short_description, "Training->TrainingsParts->Unit".main_image, "Training->TrainingsParts->Unit"."createdAt", "Training->TrainingsParts->Unit"."updatedAt", "Training->TrainingsParts->Unit".version, "Training->TrainingsParts->Unit".organization_id
59. 0.512 1.347 ↑ 1.0 49 1

Hash (cost=4.93..4.93 rows=49 width=164) (actual time=1.347..1.347 rows=49 loops=1)

  • Output: "Training->TrainingsParts->Unit->VideoRefs->UnitsVideoRef"."UnitId", "Training->TrainingsParts->Unit->VideoRefs->UnitsVideoRef"."VideoRefId", "Training->TrainingsParts->Unit->VideoRefs->UnitsVideoRef".required, "Training->TrainingsParts->Unit->VideoRefs->UnitsVideoRef".place, "Training->TrainingsParts->Unit->VideoRefs->UnitsVideoRef"."createdAt", "Training->TrainingsParts->Unit->VideoRefs->UnitsVideoRef"."updatedAt", "Training->TrainingsParts->Unit->VideoRefs->UnitsVideoRef".version, "Training->TrainingsParts->Unit->VideoRefs".id, "Training->TrainingsParts->Unit->VideoRefs".key, "Training->TrainingsParts->Unit->VideoRefs".s3_bucket, "Training->TrainingsParts->Unit->VideoRefs"."createdAt", "Training->TrainingsParts->Unit->VideoRefs"."updatedAt", "Training->TrainingsParts->Unit->VideoRefs".version, "Training->TrainingsParts->Unit->VideoRefs".organization_id
  • Buckets: 1024 Batches: 1 Memory Usage: 18kB
60. 0.090 0.835 ↑ 1.0 49 1

Hash Join (cost=3.31..4.93 rows=49 width=164) (actual time=0.143..0.835 rows=49 loops=1)

  • Output: "Training->TrainingsParts->Unit->VideoRefs->UnitsVideoRef"."UnitId", "Training->TrainingsParts->Unit->VideoRefs->UnitsVideoRef"."VideoRefId", "Training->TrainingsParts->Unit->VideoRefs->UnitsVideoRef".required, "Training->TrainingsParts->Unit->VideoRefs->UnitsVideoRef".place, "Training->TrainingsParts->Unit->VideoRefs->UnitsVideoRef"."createdAt", "Training->TrainingsParts->Unit->VideoRefs->UnitsVideoRef"."updatedAt", "Training->TrainingsParts->Unit->VideoRefs->UnitsVideoRef".version, "Training->TrainingsParts->Unit->VideoRefs".id, "Training->TrainingsParts->Unit->VideoRefs".key, "Training->TrainingsParts->Unit->VideoRefs".s3_bucket, "Training->TrainingsParts->Unit->VideoRefs"."createdAt", "Training->TrainingsParts->Unit->VideoRefs"."updatedAt", "Training->TrainingsParts->Unit->VideoRefs".version, "Training->TrainingsParts->Unit->VideoRefs".organization_id
  • Inner Unique: true
  • Hash Cond: ("Training->TrainingsParts->Unit->VideoRefs->UnitsVideoRef"."VideoRefId" = "Training->TrainingsParts->Unit->VideoRefs".id)
61. 0.641 0.641 ↑ 1.0 49 1

Seq Scan on public."UnitsVideoRefs" "Training->TrainingsParts->Unit->VideoRefs->UnitsVideoRef" (cost=0.00..1.49 rows=49 width=57) (actual time=0.023..0.641 rows=49 loops=1)

  • Output: "Training->TrainingsParts->Unit->VideoRefs->UnitsVideoRef"."createdAt", "Training->TrainingsParts->Unit->VideoRefs->UnitsVideoRef"."updatedAt", "Training->TrainingsParts->Unit->VideoRefs->UnitsVideoRef"."UnitId", "Training->TrainingsParts->Unit->VideoRefs->UnitsVideoRef"."VideoRefId", "Training->TrainingsParts->Unit->VideoRefs->UnitsVideoRef".required, "Training->TrainingsParts->Unit->VideoRefs->UnitsVideoRef".place, "Training->TrainingsParts->Unit->VideoRefs->UnitsVideoRef".version
62. 0.046 0.104 ↑ 1.0 58 1

Hash (cost=2.58..2.58 rows=58 width=107) (actual time=0.104..0.104 rows=58 loops=1)

  • Output: "Training->TrainingsParts->Unit->VideoRefs".id, "Training->TrainingsParts->Unit->VideoRefs".key, "Training->TrainingsParts->Unit->VideoRefs".s3_bucket, "Training->TrainingsParts->Unit->VideoRefs"."createdAt", "Training->TrainingsParts->Unit->VideoRefs"."updatedAt", "Training->TrainingsParts->Unit->VideoRefs".version, "Training->TrainingsParts->Unit->VideoRefs".organization_id
  • Buckets: 1024 Batches: 1 Memory Usage: 17kB
63. 0.058 0.058 ↑ 1.0 58 1

Seq Scan on public."VideoRefs" "Training->TrainingsParts->Unit->VideoRefs" (cost=0.00..2.58 rows=58 width=107) (actual time=0.023..0.058 rows=58 loops=1)

  • Output: "Training->TrainingsParts->Unit->VideoRefs".id, "Training->TrainingsParts->Unit->VideoRefs".key, "Training->TrainingsParts->Unit->VideoRefs".s3_bucket, "Training->TrainingsParts->Unit->VideoRefs"."createdAt", "Training->TrainingsParts->Unit->VideoRefs"."updatedAt", "Training->TrainingsParts->Unit->VideoRefs".version, "Training->TrainingsParts->Unit->VideoRefs".organization_id
64. 0.071 0.336 ↑ 1.0 50 1

Hash (cost=7.95..7.95 rows=50 width=684) (actual time=0.336..0.336 rows=50 loops=1)

  • Output: "Training->TrainingsParts->Unit->Certificates->UnitsCertificate"."UnitId", "Training->TrainingsParts->Unit->Certificates->UnitsCertificate"."CertificateId", "Training->TrainingsParts->Unit->Certificates->UnitsCertificate".place, "Training->TrainingsParts->Unit->Certificates->UnitsCertificate".video_required, "Training->TrainingsParts->Unit->Certificates->UnitsCertificate".test_required, "Training->TrainingsParts->Unit->Certificates->UnitsCertificate".children_required, "Training->TrainingsParts->Unit->Certificates->UnitsCertificate"."createdAt", "Training->TrainingsParts->Unit->Certificates->UnitsCertificate"."updatedAt", "Training->TrainingsParts->Unit->Certificates->UnitsCertificate".version, "Training->TrainingsParts->Unit->Certificates".id, "Training->TrainingsParts->Unit->Certificates".name, "Training->TrainingsParts->Unit->Certificates".author, "Training->TrainingsParts->Unit->Certificates".certs, "Training->TrainingsParts->Unit->Certificates".logo, "Training->TrainingsParts->Unit->Certificates".watermark, "Training->TrainingsParts->Unit->Certificates".pri_color, "Training->TrainingsParts->Unit->Certificates".sec_color, "Training->TrainingsParts->Unit->Certificates".instruction_minutes, "Training->TrainingsParts->Unit->Certificates"."createdAt", "Training->TrainingsParts->Unit->Certificates"."updatedAt", "Training->TrainingsParts->Unit->Certificates".version, "Training->TrainingsParts->Unit->Certificates".organization_id
  • Buckets: 1024 Batches: 1 Memory Usage: 45kB
65. 0.075 0.265 ↑ 1.0 50 1

Hash Join (cost=6.30..7.95 rows=50 width=684) (actual time=0.192..0.265 rows=50 loops=1)

  • Output: "Training->TrainingsParts->Unit->Certificates->UnitsCertificate"."UnitId", "Training->TrainingsParts->Unit->Certificates->UnitsCertificate"."CertificateId", "Training->TrainingsParts->Unit->Certificates->UnitsCertificate".place, "Training->TrainingsParts->Unit->Certificates->UnitsCertificate".video_required, "Training->TrainingsParts->Unit->Certificates->UnitsCertificate".test_required, "Training->TrainingsParts->Unit->Certificates->UnitsCertificate".children_required, "Training->TrainingsParts->Unit->Certificates->UnitsCertificate"."createdAt", "Training->TrainingsParts->Unit->Certificates->UnitsCertificate"."updatedAt", "Training->TrainingsParts->Unit->Certificates->UnitsCertificate".version, "Training->TrainingsParts->Unit->Certificates".id, "Training->TrainingsParts->Unit->Certificates".name, "Training->TrainingsParts->Unit->Certificates".author, "Training->TrainingsParts->Unit->Certificates".certs, "Training->TrainingsParts->Unit->Certificates".logo, "Training->TrainingsParts->Unit->Certificates".watermark, "Training->TrainingsParts->Unit->Certificates".pri_color, "Training->TrainingsParts->Unit->Certificates".sec_color, "Training->TrainingsParts->Unit->Certificates".instruction_minutes, "Training->TrainingsParts->Unit->Certificates"."createdAt", "Training->TrainingsParts->Unit->Certificates"."updatedAt", "Training->TrainingsParts->Unit->Certificates".version, "Training->TrainingsParts->Unit->Certificates".organization_id
  • Inner Unique: true
  • Hash Cond: ("Training->TrainingsParts->Unit->Certificates->UnitsCertificate"."CertificateId" = "Training->TrainingsParts->Unit->Certificates".id)
66. 0.046 0.046 ↑ 1.0 50 1

Seq Scan on public."UnitsCertificates" "Training->TrainingsParts->Unit->Certificates->UnitsCertificate" (cost=0.00..1.50 rows=50 width=59) (actual time=0.035..0.046 rows=50 loops=1)

  • Output: "Training->TrainingsParts->Unit->Certificates->UnitsCertificate"."createdAt", "Training->TrainingsParts->Unit->Certificates->UnitsCertificate"."updatedAt", "Training->TrainingsParts->Unit->Certificates->UnitsCertificate"."UnitId", "Training->TrainingsParts->Unit->Certificates->UnitsCertificate"."CertificateId", "Training->TrainingsParts->Unit->Certificates->UnitsCertificate".video_required, "Training->TrainingsParts->Unit->Certificates->UnitsCertificate".test_required, "Training->TrainingsParts->Unit->Certificates->UnitsCertificate".place, "Training->TrainingsParts->Unit->Certificates->UnitsCertificate".children_required, "Training->TrainingsParts->Unit->Certificates->UnitsCertificate".version
67. 0.071 0.144 ↑ 1.0 58 1

Hash (cost=5.58..5.58 rows=58 width=625) (actual time=0.144..0.144 rows=58 loops=1)

  • Output: "Training->TrainingsParts->Unit->Certificates".id, "Training->TrainingsParts->Unit->Certificates".name, "Training->TrainingsParts->Unit->Certificates".author, "Training->TrainingsParts->Unit->Certificates".certs, "Training->TrainingsParts->Unit->Certificates".logo, "Training->TrainingsParts->Unit->Certificates".watermark, "Training->TrainingsParts->Unit->Certificates".pri_color, "Training->TrainingsParts->Unit->Certificates".sec_color, "Training->TrainingsParts->Unit->Certificates".instruction_minutes, "Training->TrainingsParts->Unit->Certificates"."createdAt", "Training->TrainingsParts->Unit->Certificates"."updatedAt", "Training->TrainingsParts->Unit->Certificates".version, "Training->TrainingsParts->Unit->Certificates".organization_id
  • Buckets: 1024 Batches: 1 Memory Usage: 46kB
68. 0.073 0.073 ↑ 1.0 58 1

Seq Scan on public."Certificates" "Training->TrainingsParts->Unit->Certificates" (cost=0.00..5.58 rows=58 width=625) (actual time=0.016..0.073 rows=58 loops=1)

  • Output: "Training->TrainingsParts->Unit->Certificates".id, "Training->TrainingsParts->Unit->Certificates".name, "Training->TrainingsParts->Unit->Certificates".author, "Training->TrainingsParts->Unit->Certificates".certs, "Training->TrainingsParts->Unit->Certificates".logo, "Training->TrainingsParts->Unit->Certificates".watermark, "Training->TrainingsParts->Unit->Certificates".pri_color, "Training->TrainingsParts->Unit->Certificates".sec_color, "Training->TrainingsParts->Unit->Certificates".instruction_minutes, "Training->TrainingsParts->Unit->Certificates"."createdAt", "Training->TrainingsParts->Unit->Certificates"."updatedAt", "Training->TrainingsParts->Unit->Certificates".version, "Training->TrainingsParts->Unit->Certificates".organization_id
69. 0.051 0.455 ↑ 1.0 50 1

Hash (cost=5.35..5.35 rows=50 width=163) (actual time=0.455..0.455 rows=50 loops=1)

  • Output: "Training->TrainingsParts->Unit->Tests->UnitTest"."UnitId", "Training->TrainingsParts->Unit->Tests->UnitTest"."TestId", "Training->TrainingsParts->Unit->Tests->UnitTest".video_required, "Training->TrainingsParts->Unit->Tests->UnitTest".required, "Training->TrainingsParts->Unit->Tests->UnitTest".place, "Training->TrainingsParts->Unit->Tests->UnitTest"."createdAt", "Training->TrainingsParts->Unit->Tests->UnitTest"."updatedAt", "Training->TrainingsParts->Unit->Tests->UnitTest".version, "Training->TrainingsParts->Unit->Tests".id, "Training->TrainingsParts->Unit->Tests".name, "Training->TrainingsParts->Unit->Tests".description, "Training->TrainingsParts->Unit->Tests"."time", "Training->TrainingsParts->Unit->Tests".retake_time, "Training->TrainingsParts->Unit->Tests".passing_percent, "Training->TrainingsParts->Unit->Tests".video_required, "Training->TrainingsParts->Unit->Tests"."createdAt", "Training->TrainingsParts->Unit->Tests"."updatedAt", "Training->TrainingsParts->Unit->Tests".version, "Training->TrainingsParts->Unit->Tests".organization_id
  • Buckets: 1024 Batches: 1 Memory Usage: 18kB
70. 0.068 0.404 ↑ 1.0 50 1

Hash Join (cost=3.71..5.35 rows=50 width=163) (actual time=0.342..0.404 rows=50 loops=1)

  • Output: "Training->TrainingsParts->Unit->Tests->UnitTest"."UnitId", "Training->TrainingsParts->Unit->Tests->UnitTest"."TestId", "Training->TrainingsParts->Unit->Tests->UnitTest".video_required, "Training->TrainingsParts->Unit->Tests->UnitTest".required, "Training->TrainingsParts->Unit->Tests->UnitTest".place, "Training->TrainingsParts->Unit->Tests->UnitTest"."createdAt", "Training->TrainingsParts->Unit->Tests->UnitTest"."updatedAt", "Training->TrainingsParts->Unit->Tests->UnitTest".version, "Training->TrainingsParts->Unit->Tests".id, "Training->TrainingsParts->Unit->Tests".name, "Training->TrainingsParts->Unit->Tests".description, "Training->TrainingsParts->Unit->Tests"."time", "Training->TrainingsParts->Unit->Tests".retake_time, "Training->TrainingsParts->Unit->Tests".passing_percent, "Training->TrainingsParts->Unit->Tests".video_required, "Training->TrainingsParts->Unit->Tests"."createdAt", "Training->TrainingsParts->Unit->Tests"."updatedAt", "Training->TrainingsParts->Unit->Tests".version, "Training->TrainingsParts->Unit->Tests".organization_id
  • Inner Unique: true
  • Hash Cond: ("Training->TrainingsParts->Unit->Tests->UnitTest"."TestId" = "Training->TrainingsParts->Unit->Tests".id)
71. 0.026 0.026 ↑ 1.0 50 1

Seq Scan on public."UnitTests" "Training->TrainingsParts->Unit->Tests->UnitTest" (cost=0.00..1.50 rows=50 width=58) (actual time=0.017..0.026 rows=50 loops=1)

  • Output: "Training->TrainingsParts->Unit->Tests->UnitTest"."createdAt", "Training->TrainingsParts->Unit->Tests->UnitTest"."updatedAt", "Training->TrainingsParts->Unit->Tests->UnitTest"."UnitId", "Training->TrainingsParts->Unit->Tests->UnitTest"."TestId", "Training->TrainingsParts->Unit->Tests->UnitTest".video_required, "Training->TrainingsParts->Unit->Tests->UnitTest".required, "Training->TrainingsParts->Unit->Tests->UnitTest".place, "Training->TrainingsParts->Unit->Tests->UnitTest".version
72. 0.242 0.310 ↑ 1.0 76 1

Hash (cost=2.76..2.76 rows=76 width=105) (actual time=0.310..0.310 rows=76 loops=1)

  • Output: "Training->TrainingsParts->Unit->Tests".id, "Training->TrainingsParts->Unit->Tests".name, "Training->TrainingsParts->Unit->Tests".description, "Training->TrainingsParts->Unit->Tests"."time", "Training->TrainingsParts->Unit->Tests".retake_time, "Training->TrainingsParts->Unit->Tests".passing_percent, "Training->TrainingsParts->Unit->Tests".video_required, "Training->TrainingsParts->Unit->Tests"."createdAt", "Training->TrainingsParts->Unit->Tests"."updatedAt", "Training->TrainingsParts->Unit->Tests".version, "Training->TrainingsParts->Unit->Tests".organization_id
  • Buckets: 1024 Batches: 1 Memory Usage: 19kB
73. 0.068 0.068 ↑ 1.0 76 1

Seq Scan on public."Tests" "Training->TrainingsParts->Unit->Tests" (cost=0.00..2.76 rows=76 width=105) (actual time=0.017..0.068 rows=76 loops=1)

  • Output: "Training->TrainingsParts->Unit->Tests".id, "Training->TrainingsParts->Unit->Tests".name, "Training->TrainingsParts->Unit->Tests".description, "Training->TrainingsParts->Unit->Tests"."time", "Training->TrainingsParts->Unit->Tests".retake_time, "Training->TrainingsParts->Unit->Tests".passing_percent, "Training->TrainingsParts->Unit->Tests".video_required, "Training->TrainingsParts->Unit->Tests"."createdAt", "Training->TrainingsParts->Unit->Tests"."updatedAt", "Training->TrainingsParts->Unit->Tests".version, "Training->TrainingsParts->Unit->Tests".organization_id
74. 0.266 0.510 ↑ 1.0 141 1

Hash (cost=5.18..5.18 rows=141 width=620) (actual time=0.509..0.510 rows=141 loops=1)

  • Output: "Training->Categories->TrainingsCategory"."CategoryId", "Training->Categories->TrainingsCategory"."TrainingId", "Training->Categories->TrainingsCategory"."createdAt", "Training->Categories->TrainingsCategory"."updatedAt", "Training->Categories->TrainingsCategory".version, "Training->Categories".id, "Training->Categories".name, "Training->Categories"."createdAt", "Training->Categories"."updatedAt", "Training->Categories".version, "Training->Categories"."OrganizationId
  • Buckets: 1024 Batches: 1 Memory Usage: 30kB
75. 0.153 0.244 ↑ 1.0 141 1

Hash Join (cost=1.14..5.18 rows=141 width=620) (actual time=0.066..0.244 rows=141 loops=1)

  • Output: "Training->Categories->TrainingsCategory"."CategoryId", "Training->Categories->TrainingsCategory"."TrainingId", "Training->Categories->TrainingsCategory"."createdAt", "Training->Categories->TrainingsCategory"."updatedAt", "Training->Categories->TrainingsCategory".version, "Training->Categories".id, "Training->Categories".name, "Training->Categories"."createdAt", "Training->Categories"."updatedAt", "Training->Categories".version, "Training->Categories"."OrganizationId
  • Inner Unique: true
  • Hash Cond: ("Training->Categories->TrainingsCategory"."CategoryId" = "Training->Categories".id)
76. 0.070 0.070 ↑ 1.0 141 1

Seq Scan on public."TrainingsCategories" "Training->Categories->TrainingsCategory" (cost=0.00..3.41 rows=141 width=52) (actual time=0.031..0.070 rows=141 loops=1)

  • Output: "Training->Categories->TrainingsCategory"."CategoryId", "Training->Categories->TrainingsCategory"."TrainingId", "Training->Categories->TrainingsCategory"."createdAt", "Training->Categories->TrainingsCategory"."updatedAt", "Training->Categories->TrainingsCategory".version
77. 0.008 0.021 ↑ 1.0 6 1

Hash (cost=1.06..1.06 rows=6 width=568) (actual time=0.020..0.021 rows=6 loops=1)

  • Output: "Training->Categories".id, "Training->Categories".name, "Training->Categories"."createdAt", "Training->Categories"."updatedAt", "Training->Categories".version, "Training->Categories"."OrganizationId
  • Buckets: 1024 Batches: 1 Memory Usage: 9kB
78. 0.013 0.013 ↑ 1.0 6 1

Seq Scan on public."Categories" "Training->Categories" (cost=0.00..1.06 rows=6 width=568) (actual time=0.010..0.013 rows=6 loops=1)

  • Output: "Training->Categories".id, "Training->Categories".name, "Training->Categories"."createdAt", "Training->Categories"."updatedAt", "Training->Categories".version, "Training->Categories"."OrganizationId
Planning time : 22.087 ms
Execution time : 22.377 ms