add remove split language show hidden hide
db<>fiddle
donate feedback about
By using db<>fiddle, you agree to license everything you submit by Creative Commons CC0.
SELECT 1
SELECT 1
SELECT 1
CREATE TABLE
ALTER TABLE
INSERT 0 2
VACUUM
pg_column_compression pg_size_pretty
null 3613 kB
null 3613 kB
SELECT 2
oid relname relkind relpages reltuples reltoastrelid relkind relpages reltuples
16399 billing_cycle r 1 2 16402 t 927 3708
SELECT 1
oid
SELECT 0
PREPARE
QUERY PLAN
Nested Loop (cost=0.00..58.14 rows=1 width=292) (actual time=0.020..0.023 rows=1 loops=1)
  Output: customer.id, customer.name, subscription.override_start_date, subscription.source_start_date, subscription.override_end_date, subscription.computed_end_date, product_version.override_mrr_amount, product_version.total_mrr, product_version.version_start_date, product_version.version_end_date
  Join Filter: ((customer.id = subscription.customer_id) AND (subscription.id = billing_cycle.subscription_id))
  -> Nested Loop (cost=0.00..42.11 rows=1 width=168) (actual time=0.016..0.018 rows=1 loops=1)
        Output: customer.id, customer.name, billing_cycle.subscription_id, product_version.override_mrr_amount, product_version.total_mrr, product_version.version_start_date, product_version.version_end_date
        -> Nested Loop (cost=0.00..17.05 rows=1 width=132) (actual time=0.013..0.014 rows=1 loops=1)
              Output: billing_cycle.subscription_id, product_version.override_mrr_amount, product_version.total_mrr, product_version.version_start_date, product_version.version_end_date
              Join Filter: (billing_cycle.id = product_version.billing_cycle_id)
              -> Seq Scan on public.billing_cycle (cost=0.00..1.02 rows=1 width=8) (actual time=0.007..0.007 rows=1 loops=1)
                    Output: billing_cycle.id, billing_cycle.subscription_id, billing_cycle.integration_id, billing_cycle.something_toasted, billing_cycle.organization_id
                    Filter: (billing_cycle.integration_id = 162)
                    Rows Removed by Filter: 1
              -> Seq Scan on public.product_version (cost=0.00..16.00 rows=2 width=132) (actual time=0.004..0.004 rows=1 loops=1)
                    Output: product_version.id, product_version.billing_cycle_id, product_version.integration_id, product_version.override_mrr_amount, product_version.total_mrr, product_version.version_start_date, product_version.version_end_date
                    Filter: (product_version.integration_id = 162)
        -> Seq Scan on public.customer (cost=0.00..25.00 rows=6 width=36) (actual time=0.002..0.003 rows=1 loops=1)
              Output: customer.id, customer.name, customer.integration_id
              Filter: (customer.integration_id = 162)
  -> Seq Scan on public.subscription (cost=0.00..16.00 rows=2 width=136) (actual time=0.003..0.003 rows=1 loops=1)
        Output: subscription.id, subscription.customer_id, subscription.integration_id, subscription.override_start_date, subscription.source_start_date, subscription.override_end_date, subscription.computed_end_date
        Filter: (subscription.integration_id = 162)
Planning Time: 0.540 ms
Execution Time: 0.047 ms
EXPLAIN
customer_id customer_name sub_override_start_ts sub_source_start_ts sub_override_end_ts sub_computed_end_ts override_mrr_amount total_mrr version_start_ts version_end_ts
1 segmented_customer_name1 override_start_date source_start_date override_end_date computed_end_date override_mrr_amount total_mrr version_start_date version_end_date
SELECT 1
PREPARE
QUERY PLAN
Nested Loop (cost=0.00..58.14 rows=1 width=292) (actual time=0.016..0.018 rows=1 loops=1)
  Output: segmented_customer.id, segmented_customer.name, segmented_subscription.override_start_date, segmented_subscription.source_start_date, segmented_subscription.override_end_date, segmented_subscription.computed_end_date, segmented_product_version.override_mrr_amount, segmented_product_version.total_mrr, segmented_product_version.version_start_date, segmented_product_version.version_end_date
  Join Filter: ((segmented_customer.id = segmented_subscription.customer_id) AND (segmented_subscription.id = segmented_billing_cycle.subscription_id))
  -> Nested Loop (cost=0.00..42.11 rows=1 width=168) (actual time=0.012..0.014 rows=1 loops=1)
        Output: segmented_customer.id, segmented_customer.name, segmented_billing_cycle.subscription_id, segmented_product_version.override_mrr_amount, segmented_product_version.total_mrr, segmented_product_version.version_start_date, segmented_product_version.version_end_date
        -> Nested Loop (cost=0.00..17.05 rows=1 width=132) (actual time=0.010..0.011 rows=1 loops=1)
              Output: segmented_billing_cycle.subscription_id, segmented_product_version.override_mrr_amount, segmented_product_version.total_mrr, segmented_product_version.version_start_date, segmented_product_version.version_end_date
              Join Filter: (segmented_billing_cycle.id = segmented_product_version.billing_cycle_id)
              -> Seq Scan on public.billing_cycle segmented_billing_cycle (cost=0.00..1.02 rows=1 width=8) (actual time=0.006..0.007 rows=1 loops=1)
                    Output: segmented_billing_cycle.id, segmented_billing_cycle.subscription_id, segmented_billing_cycle.integration_id, segmented_billing_cycle.something_toasted, segmented_billing_cycle.organization_id
                    Filter: (segmented_billing_cycle.integration_id = 162)
                    Rows Removed by Filter: 1
              -> Seq Scan on public.product_version segmented_product_version (cost=0.00..16.00 rows=2 width=132) (actual time=0.002..0.002 rows=1 loops=1)
                    Output: segmented_product_version.id, segmented_product_version.billing_cycle_id, segmented_product_version.integration_id, segmented_product_version.override_mrr_amount, segmented_product_version.total_mrr, segmented_product_version.version_start_date, segmented_product_version.version_end_date
                    Filter: (segmented_product_version.integration_id = 162)
        -> Seq Scan on public.customer segmented_customer (cost=0.00..25.00 rows=6 width=36) (actual time=0.002..0.002 rows=1 loops=1)
              Output: segmented_customer.id, segmented_customer.name, segmented_customer.integration_id
              Filter: (segmented_customer.integration_id = 162)
  -> Seq Scan on public.subscription segmented_subscription (cost=0.00..16.00 rows=2 width=136) (actual time=0.002..0.002 rows=1 loops=1)
        Output: segmented_subscription.id, segmented_subscription.customer_id, segmented_subscription.integration_id, segmented_subscription.override_start_date, segmented_subscription.source_start_date, segmented_subscription.override_end_date, segmented_subscription.computed_end_date
        Filter: (segmented_subscription.integration_id = 162)
Planning Time: 0.230 ms
Execution Time: 0.039 ms
EXPLAIN
customer_id customer_name sub_override_start_ts sub_source_start_ts sub_override_end_ts sub_computed_end_ts override_mrr_amount total_mrr version_start_ts version_end_ts
1 segmented_customer_name1 override_start_date source_start_date override_end_date computed_end_date override_mrr_amount total_mrr version_start_date version_end_date
SELECT 1
INSERT 0 20000
CREATE INDEX
VACUUM
DEALLOCATE
PREPARE
QUERY PLAN
Nested Loop (cost=0.29..65.84 rows=1 width=292) (actual time=0.034..0.037 rows=1 loops=1)
  Output: segmented_customer.id, segmented_customer.name, segmented_subscription.override_start_date, segmented_subscription.source_start_date, segmented_subscription.override_end_date, segmented_subscription.computed_end_date, segmented_product_version.override_mrr_amount, segmented_product_version.total_mrr, segmented_product_version.version_start_date, segmented_product_version.version_end_date
  -> Nested Loop (cost=0.00..41.19 rows=1 width=168) (actual time=0.018..0.019 rows=1 loops=1)
        Output: segmented_customer.id, segmented_customer.name, segmented_subscription.override_start_date, segmented_subscription.source_start_date, segmented_subscription.override_end_date, segmented_subscription.computed_end_date, segmented_subscription.id
        Join Filter: (segmented_customer.id = segmented_subscription.customer_id)
        -> Seq Scan on public.customer segmented_customer (cost=0.00..25.00 rows=6 width=36) (actual time=0.009..0.010 rows=1 loops=1)
              Output: segmented_customer.id, segmented_customer.name, segmented_customer.integration_id
              Filter: (segmented_customer.integration_id = 162)
        -> Materialize (cost=0.00..16.01 rows=2 width=136) (actual time=0.006..0.007 rows=1 loops=1)
              Output: segmented_subscription.override_start_date, segmented_subscription.source_start_date, segmented_subscription.override_end_date, segmented_subscription.computed_end_date, segmented_subscription.customer_id, segmented_subscription.id
              -> Seq Scan on public.subscription segmented_subscription (cost=0.00..16.00 rows=2 width=136) (actual time=0.003..0.004 rows=1 loops=1)
                    Output: segmented_subscription.override_start_date, segmented_subscription.source_start_date, segmented_subscription.override_end_date, segmented_subscription.computed_end_date, segmented_subscription.customer_id, segmented_subscription.id
                    Filter: (segmented_subscription.integration_id = 162)
  -> Nested Loop (cost=0.29..24.64 rows=1 width=132) (actual time=0.013..0.015 rows=1 loops=1)
        Output: segmented_billing_cycle.subscription_id, segmented_product_version.override_mrr_amount, segmented_product_version.total_mrr, segmented_product_version.version_start_date, segmented_product_version.version_end_date
        -> Seq Scan on public.product_version segmented_product_version (cost=0.00..16.00 rows=2 width=132) (actual time=0.002..0.003 rows=1 loops=1)
              Output: segmented_product_version.id, segmented_product_version.billing_cycle_id, segmented_product_version.integration_id, segmented_product_version.override_mrr_amount, segmented_product_version.total_mrr, segmented_product_version.version_start_date, segmented_product_version.version_end_date
              Filter: (segmented_product_version.integration_id = 162)
        -> Index Only Scan using billing_cycle_id_subscription_id_integration_id_idx on public.billing_cycle segmented_billing_cycle (cost=0.29..4.31 rows=1 width=8) (actual time=0.009..0.010 rows=1 loops=1)
              Output: segmented_billing_cycle.id, segmented_billing_cycle.subscription_id, segmented_billing_cycle.integration_id
              Index Cond: ((segmented_billing_cycle.id = segmented_product_version.billing_cycle_id) AND (segmented_billing_cycle.subscription_id = segmented_subscription.id) AND (segmented_billing_cycle.integration_id = 162))
              Heap Fetches: 0
Planning Time: 0.589 ms
Execution Time: 0.083 ms
EXPLAIN
customer_id customer_name sub_override_start_ts sub_source_start_ts sub_override_end_ts sub_computed_end_ts override_mrr_amount total_mrr version_start_ts version_end_ts
1 segmented_customer_name1 override_start_date source_start_date override_end_date computed_end_date override_mrr_amount total_mrr version_start_date version_end_date
SELECT 1