before compactions
we scan 51 mil without delete files, 73 mil with delete files
mysql> explain analyze select count(*) from landing_cbs_tj.credit_schedule_payments;
+-------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Explain String |
+-------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Summary |
| QueryId: 74ca3838-eae3-11ef-bfaa-02f604b9c98d |
| Version: my34_0211-b0eaefb |
| State: Finished |
| TotalTime: 3s574ms |
| ExecutionTime: 3s43ms [Scan: 1s445ms (47.51%), Network: 1s204ms (39.59%), ResultDeliverTime: 0ns (0.00%), ScheduleTime: 390.585ms (12.83%)] |
| CollectProfileTime: 3ms |
| FrontendProfileMergeTime: 6.310ms |
| QueryPeakMemoryUsage: ?, QueryAllocatedMemoryUsage: 13.612 GB |
| Top Most Time-consuming Nodes: |
| 1. ICEBERG_SCAN (id=3) : 1s305ms (30.96%) |
| 2. HASH_JOIN (id=6) [BROADCAST, LEFT ANTI JOIN]: 1s112ms (26.36%) |
| 3. EXCHANGE (id=8) : 722.392ms (17.13%) |
| 4. EXCHANGE (id=10) [GATHER]: 489.550ms (11.61%) |
| 5. ICEBERG_SCAN (id=1) : 236.987ms (5.62%) |
| 6. EXCHANGE (id=2) : 193.704ms (4.59%) |
| 7. AGGREGATION (id=11) [finalize, update]: 60.865ms (1.44%) |
| 8. ICEBERG_SCAN (id=4) : 42.738ms (1.01%) |
| 9. PROJECT (id=9) : 22.901ms (0.54%) |
| 10. UNION (id=0) : 22.517ms (0.53%) |
| Top Most Memory-consuming Nodes: |
| NonDefaultVariables: |
| catalog: default_catalog -> iceberg |
| cboPushDownAggregateMode_v1: 0 -> -1 |
| cbo_eq_base_type: decimal -> varchar |
| cbo_prune_json_subfield: true -> false |
| connector_huge_file_size: 536870912 -> 1073741824 |
| consistent_hash_virtual_number: 256 -> 128 |
| enable_async_profile: true -> false |
| enable_connector_incremental_scan_ranges: true -> false |
| enable_profile: false -> true |
| enable_query_cache: false -> true |
| enable_query_trigger_analyze: true -> false |
| enable_sort_aggregate: false -> true |
| enable_spill: false -> true |
| enable_stats_to_optimize_skew_join: false -> true |
| enable_view_based_mv_rewrite: true -> false |
| full_sort_max_buffered_bytes: 268435456 -> 16777216 |
| full_sort_max_buffered_rows: 1073741824 -> 1024000 |
| profile_timeout: 10 -> 2 |
| sql_mode_v2: 32 -> 290 |
| transmission_compression_type: AUTO -> NO_COMPRESSION |
| Fragment 0 |
| │ BackendNum: 1 |
| │ InstancePeakMemoryUsage: 5.315 MB, InstanceAllocatedMemoryUsage: 265.955 MB |
| │ PrepareTime: ? |
| └──RESULT_SINK |
| │ TotalTime: 75.480us (0.00%) [CPUTime: 75.480us] |
| │ OutputRows: 1 |
| │ SinkType: MYSQL_PROTOCAL |
| └──AGGREGATION (id=11) [finalize, update] |
| │ Estimates: [row: 1, cpu: 4.00, memory: 8.00, network: 0.00, cost: 203.00] |
| │ TotalTime: 60.865ms (1.44%) [CPUTime: 60.865ms] |
| │ OutputRows: 1 |
| │ PeakMemory: ?, AllocatedMemory: ? |
| │ AggExprs: [count(*)] |
| │ SubordinateOperators: |
| │ LOCAL_EXCHANGE [Passthrough] |
| └──EXCHANGE (id=10) [GATHER] |
| Estimates: [row: 2, cpu: 2.00, memory: 0.00, network: 2.00, cost: 185.00] |
| TotalTime: 489.550ms (11.61%) [CPUTime: 63.569ms, NetworkTime: 425.981ms] |
| OutputRows: 124.396M (124396112) |
| PeakMemory: ?, AllocatedMemory: ? |
| |
| Fragment 1 |
| │ BackendNum: 1 |
| │ InstancePeakMemoryUsage: 8.385 MB, InstanceAllocatedMemoryUsage: 676.336 MB |
| │ PrepareTime: ? |
| └──DATA_STREAM_SINK (id=10) |
| │ PartitionType: UNPARTITIONED |
| └──PROJECT (id=9) |
| │ Estimates: [row: ?, cpu: ?, memory: ?, network: ?, cost: ?] |
| │ TotalTime: 22.901ms (0.54%) [CPUTime: 22.901ms] |
| │ OutputRows: 124.396M (124396112) |
| │ Expression: [1] |
| └──UNION (id=0) |
| │ Estimates: [row: 2, cpu: 0.00, memory: 0.00, network: 0.00, cost: 181.00] |
| │ TotalTime: 22.517ms (0.53%) [CPUTime: 22.517ms] |
| │ OutputRows: 124.396M (124396112) |
| │ SubordinateOperators: |
| │ LOCAL_EXCHANGE [Passthrough] |
| ├──EXCHANGE (id=2) |
| │ Estimates: [row: ?, cpu: ?, memory: ?, network: ?, cost: ?] |
| │ TotalTime: 193.704ms (4.59%) [CPUTime: 34.729ms, NetworkTime: 158.975ms] |
| │ OutputRows: 51.071M (51070932) |
| │ PeakMemory: ?, AllocatedMemory: ? |
| └──EXCHANGE (id=8) |
| Estimates: [row: ?, cpu: ?, memory: ?, network: ?, cost: ?] |
| TotalTime: 722.392ms (17.13%) [CPUTime: 105.215ms, NetworkTime: 617.176ms] |
| OutputRows: 73.325M (73325180) |
| PeakMemory: ?, AllocatedMemory: ? |
| Detail Timers: |
| OverallTime: 2s470ms |
| |
| Fragment 2 |
| │ BackendNum: 1 |
| │ InstancePeakMemoryUsage: 1.724 GB, InstanceAllocatedMemoryUsage: 12.027 GB |
| │ PrepareTime: ? |
| └──DATA_STREAM_SINK (id=8) |
| │ PartitionType: RANDOM |
| └──PROJECT (id=7) |
| │ Estimates: [row: ?, cpu: ?, memory: ?, network: ?, cost: ?] |
| │ TotalTime: 5.642ms (0.13%) [CPUTime: 5.642ms] |
| │ OutputRows: 73.325M (73325180) |
| │ Expression: [58: is_correction] |
| └──HASH_JOIN (id=6) [BROADCAST, LEFT ANTI JOIN] |
| │ Estimates: [row: 1, cpu: ?, memory: ?, network: ?, cost: 181.0] |
| │ TotalTime: 1s112ms (26.36%) [CPUTime: 1s112ms] |
| │ OutputRows: 73.325M (73325180) |
| │ PeakMemory: ?, AllocatedMemory: ? |
| │ BuildTime: 108.852us |
| │ ProbeTime: 1s107ms |
| │ EqJoinConjuncts: [35: id = 67: id] |
| │ SubordinateOperators: |
| │ CHUNK_ACCUMULATE |
| │ LOCAL_EXCHANGE [Passthrough] |
| │ NOOP |
| │ SPILL_PROCESS |
| │ Detail Timers: |
| │ SearchHashTableTime: 607.722ms |
| ├──<PROBE> ICEBERG_SCAN (id=3) |
| │ Estimates: [row: 1, cpu: ?, memory: ?, network: ?, cost: 0.0] |
| │ TotalTime: 1s305ms (30.96%) [CPUTime: 116.503ms, ScanTime: 1s189ms] |
| │ OutputRows: 73.326M (73326329) |
| │ TABLE: landing_cbs_tj.credit_schedule_payments_with_delete_file |
| │ Detail Timers: [ScanTime = IOTaskExecTime + IOTaskWaitTime] |
| │ IOTaskExecTime: 1s151ms |
| │ ColumnReadTime: 1s26ms |
| │ InputStream: |
| │ AppIOTime: 822.140ms |
| │ FSIOTime: 821.922ms |
| │ Parquet: |
| │ GroupChunkRead: 1s30ms |
| │ PageReadTime: 962.555ms |
| │ SharedBuffered: |
| │ SharedIOTime: 741.740ms |
| │ IOTaskWaitTime: 37.431ms |
| └──<BUILD> EXCHANGE (id=5) [BROADCAST] |
| Estimates: [row: 1, cpu: ?, memory: ?, network: ?, cost: 84.0] |
| TotalTime: 2.678ms (0.06%) [CPUTime: 89.715us, NetworkTime: 2.589ms] |
| OutputRows: 1.895K (1895) |
| PeakMemory: ?, AllocatedMemory: ? |
| |
| Fragment 3 |
| │ BackendNum: 1 |
| │ InstancePeakMemoryUsage: 10.294 MB, InstanceAllocatedMemoryUsage: 12.315 MB |
| │ PrepareTime: ? |
| └──DATA_STREAM_SINK (id=5) |
| │ PartitionType: UNPARTITIONED |
| └──ICEBERG_SCAN (id=4) |
| Estimates: [row: 1, cpu: ?, memory: ?, network: ?, cost: 0.0] |
| TotalTime: 42.738ms (1.01%) [CPUTime: 1.686ms, ScanTime: 41.052ms] |
| OutputRows: 1.895K (1895) |
| TABLE: landing_cbs_tj.credit_schedule_payments_eq_delete_id |
| |
| Fragment 4 |
| │ BackendNum: 1 |
| │ InstancePeakMemoryUsage: 112.363 MB, InstanceAllocatedMemoryUsage: 668.934 MB |
| │ PrepareTime: ? |
| └──DATA_STREAM_SINK (id=2) |
| │ PartitionType: RANDOM |
| └──ICEBERG_SCAN (id=1) |
| Estimates: [row: 1, cpu: ?, memory: ?, network: ?, cost: 0.0] |
| TotalTime: 236.987ms (5.62%) [CPUTime: 21.457ms, ScanTime: 215.530ms] |
| OutputRows: 51.071M (51070932) |
| TABLE: landing_cbs_tj.credit_schedule_payments |
| |
+-------------------------------------------------------------------------------------------------------------------------------------------------------------+
167 rows in set (3.66 sec)
after compaction
we scan 124 mil with delete files
it is slower than before compaction
mysql> explain analyze select count(*) from landing_cbs_tj.credit_schedule_payments;
+-------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Explain String |
+-------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Summary |
| QueryId: c7f80cf9-eae4-11ef-bfaa-02f604b9c98d |
| Version: my34_0211-b0eaefb |
| State: Finished |
| TotalTime: 5s581ms |
| ExecutionTime: 5s537ms [Scan: 1s77ms (19.47%), Network: 2s903ms (52.44%), ResultDeliverTime: 0ns (0.00%), ScheduleTime: 679.696ms (12.27%)] |
| CollectProfileTime: 29ms |
| FrontendProfileMergeTime: 6.551ms |
| QueryPeakMemoryUsage: ?, QueryAllocatedMemoryUsage: 22.044 GB |
| Top Most Time-consuming Nodes: |
| 1. HASH_JOIN (id=6) [BROADCAST, LEFT ANTI JOIN]: 2s911ms (39.38%) |
| 2. EXCHANGE (id=8) : 2s194ms (29.69%) |
| 3. ICEBERG_SCAN (id=3) : 1s164ms (15.75%) |
| 4. EXCHANGE (id=10) [GATHER]: 985.030ms (13.32%) |
| 5. AGGREGATION (id=11) [finalize, update]: 65.369ms (0.88%) |
| 6. PROJECT (id=9) : 23.031ms (0.31%) |
| 7. PROJECT (id=7) : 16.886ms (0.23%) |
| 8. UNION (id=0) : 16.563ms (0.22%) |
| 9. RESULT_SINK: 4.040ms (0.05%) |
| 10. EXCHANGE (id=2) : 3.941ms (0.05%) |
| Top Most Memory-consuming Nodes: |
| NonDefaultVariables: |
| catalog: default_catalog -> iceberg |
| cboPushDownAggregateMode_v1: 0 -> -1 |
| cbo_eq_base_type: decimal -> varchar |
| cbo_prune_json_subfield: true -> false |
| connector_huge_file_size: 536870912 -> 1073741824 |
| consistent_hash_virtual_number: 256 -> 128 |
| enable_async_profile: true -> false |
| enable_connector_incremental_scan_ranges: true -> false |
| enable_profile: false -> true |
| enable_query_cache: false -> true |
| enable_query_trigger_analyze: true -> false |
| enable_sort_aggregate: false -> true |
| enable_spill: false -> true |
| enable_stats_to_optimize_skew_join: false -> true |
| enable_view_based_mv_rewrite: true -> false |
| full_sort_max_buffered_bytes: 268435456 -> 16777216 |
| full_sort_max_buffered_rows: 1073741824 -> 1024000 |
| profile_timeout: 10 -> 2 |
| sql_mode_v2: 32 -> 290 |
| transmission_compression_type: AUTO -> NO_COMPRESSION |
| Fragment 0 |
| │ BackendNum: 1 |
| │ InstancePeakMemoryUsage: 1.986 MB, InstanceAllocatedMemoryUsage: 265.923 MB |
| │ PrepareTime: ? |
| └──RESULT_SINK |
| │ TotalTime: 4.040ms (0.05%) [CPUTime: 4.040ms] |
| │ OutputRows: 1 |
| │ SinkType: MYSQL_PROTOCAL |
| └──AGGREGATION (id=11) [finalize, update] |
| │ Estimates: [row: 1, cpu: 4.00, memory: 8.00, network: 0.00, cost: 203.00] |
| │ TotalTime: 65.369ms (0.88%) [CPUTime: 65.369ms] |
| │ OutputRows: 1 |
| │ PeakMemory: ?, AllocatedMemory: ? |
| │ AggExprs: [count(*)] |
| │ SubordinateOperators: |
| │ LOCAL_EXCHANGE [Passthrough] |
| └──EXCHANGE (id=10) [GATHER] |
| Estimates: [row: 2, cpu: 2.00, memory: 0.00, network: 2.00, cost: 185.00] |
| TotalTime: 985.030ms (13.32%) [CPUTime: 74.109ms, NetworkTime: 910.920ms] |
| OutputRows: 124.397M (124396636) |
| PeakMemory: ?, AllocatedMemory: ? |
| |
| Fragment 1 |
| │ BackendNum: 1 |
| │ InstancePeakMemoryUsage: 2.722 MB, InstanceAllocatedMemoryUsage: 676.229 MB |
| │ PrepareTime: ? |
| └──DATA_STREAM_SINK (id=10) |
| │ PartitionType: UNPARTITIONED |
| └──PROJECT (id=9) |
| │ Estimates: [row: ?, cpu: ?, memory: ?, network: ?, cost: ?] |
| │ TotalTime: 23.031ms (0.31%) [CPUTime: 23.031ms] |
| │ OutputRows: 124.397M (124396636) |
| │ Expression: [1] |
| └──UNION (id=0) |
| │ Estimates: [row: 2, cpu: 0.00, memory: 0.00, network: 0.00, cost: 181.00] |
| │ TotalTime: 16.563ms (0.22%) [CPUTime: 16.563ms] |
| │ OutputRows: 124.397M (124396636) |
| │ SubordinateOperators: |
| │ LOCAL_EXCHANGE [Passthrough] |
| ├──EXCHANGE (id=2) |
| │ Estimates: [row: ?, cpu: ?, memory: ?, network: ?, cost: ?] |
| │ TotalTime: 3.941ms (0.05%) [CPUTime: 119.007us, NetworkTime: 3.822ms] |
| │ OutputRows: 1.609K (1609) |
| │ PeakMemory: ?, AllocatedMemory: ? |
| └──EXCHANGE (id=8) |
| Estimates: [row: ?, cpu: ?, memory: ?, network: ?, cost: ?] |
| TotalTime: 2s194ms (29.69%) [CPUTime: 206.437ms, NetworkTime: 1s988ms] |
| OutputRows: 124.395M (124395027) |
| PeakMemory: ?, AllocatedMemory: ? |
| Detail Timers: |
| OverallTime: 5s458ms |
| |
| Fragment 2 |
| │ BackendNum: 1 |
| │ InstancePeakMemoryUsage: 963.213 MB, InstanceAllocatedMemoryUsage: 21.097 GB |
| │ PrepareTime: ? |
| └──DATA_STREAM_SINK (id=8) |
| │ PartitionType: RANDOM |
| └──PROJECT (id=7) |
| │ Estimates: [row: ?, cpu: ?, memory: ?, network: ?, cost: ?] |
| │ TotalTime: 16.886ms (0.23%) [CPUTime: 16.886ms] |
| │ OutputRows: 124.395M (124395027) |
| │ Expression: [58: is_correction] |
| └──HASH_JOIN (id=6) [BROADCAST, LEFT ANTI JOIN] |
| │ Estimates: [row: 1, cpu: ?, memory: ?, network: ?, cost: 181.0] |
| │ TotalTime: 2s911ms (39.38%) [CPUTime: 2s911ms] |
| │ OutputRows: 124.395M (124395027) |
| │ PeakMemory: ?, AllocatedMemory: ? |
| │ BuildTime: 152.444us |
| │ ProbeTime: 2s902ms |
| │ EqJoinConjuncts: [35: id = 67: id] |
| │ SubordinateOperators: |
| │ CHUNK_ACCUMULATE |
| │ LOCAL_EXCHANGE [Passthrough] |
| │ NOOP |
| │ SPILL_PROCESS |
| │ Detail Timers: |
| │ SearchHashTableTime: 1s730ms |
| ├──<PROBE> ICEBERG_SCAN (id=3) |
| │ Estimates: [row: 1, cpu: ?, memory: ?, network: ?, cost: 0.0] |
| │ TotalTime: 1s164ms (15.75%) [CPUTime: 92.018ms, ScanTime: 1s72ms] |
| │ OutputRows: 124.397M (124397261) |
| │ TABLE: landing_cbs_tj.credit_schedule_payments_with_delete_file |
| │ Detail Timers: [ScanTime = IOTaskExecTime + IOTaskWaitTime] |
| │ IOTaskExecTime: 1s59ms |
| │ ColumnReadTime: 1s38ms |
| │ DataCache: |
| │ DataCacheReadTimer: 421.507ms |
| │ InputStream: |
| │ AppIOTime: 716.528ms |
| │ Parquet: |
| │ GroupChunkRead: 1s43ms |
| │ PageReadTime: 953.953ms |
| │ IOTaskWaitTime: 12.682ms |
| └──<BUILD> EXCHANGE (id=5) [BROADCAST] |
| Estimates: [row: 1, cpu: ?, memory: ?, network: ?, cost: 84.0] |
| TotalTime: 613.995us (0.01%) [CPUTime: 144.314us, NetworkTime: 469.681us] |
| OutputRows: 2.980K (2980) |
| PeakMemory: ?, AllocatedMemory: ? |
| |
| Fragment 3 |
| │ BackendNum: 1 |
| │ InstancePeakMemoryUsage: 15.396 MB, InstanceAllocatedMemoryUsage: 16.903 MB |
| │ PrepareTime: ? |
| └──DATA_STREAM_SINK (id=5) |
| │ PartitionType: UNPARTITIONED |
| └──ICEBERG_SCAN (id=4) |
| Estimates: [row: 1, cpu: ?, memory: ?, network: ?, cost: 0.0] |
| TotalTime: 2.977ms (0.04%) [CPUTime: 374.685us, ScanTime: 2.602ms] |
| OutputRows: 2.980K (2980) |
| TABLE: landing_cbs_tj.credit_schedule_payments_eq_delete_id |
| |
| Fragment 4 |
| │ BackendNum: 1 |
| │ InstancePeakMemoryUsage: 5.146 MB, InstanceAllocatedMemoryUsage: 10.609 MB |
| │ PrepareTime: ? |
| └──DATA_STREAM_SINK (id=2) |
| │ PartitionType: RANDOM |
| └──ICEBERG_SCAN (id=1) |
| Estimates: [row: 1, cpu: ?, memory: ?, network: ?, cost: 0.0] |
| TotalTime: 3.671ms (0.05%) [CPUTime: 1.087ms, ScanTime: 2.583ms] |
| OutputRows: 1.609K (1609) |
| TABLE: landing_cbs_tj.credit_schedule_payments |
| |
+-------------------------------------------------------------------------------------------------------------------------------------------------------------+
166 rows in set (5.76 sec)
please note that there are only a handful of delete row records now
mysql> select * from landing_cbs_tj.credit_schedule_payments$partitions;
+--------------+------------+-------------------------------+------------------------------+----------------------------+------------------------------+----------------------------+----------------------------+
| record_count | file_count | total_data_file_size_in_bytes | position_delete_record_count | position_delete_file_count | equality_delete_record_count | equality_delete_file_count | last_updated_at |
+--------------+------------+-------------------------------+------------------------------+----------------------------+------------------------------+----------------------------+----------------------------+
| 124398890 | 24 | 9530256107 | 154 | 4 | 3817 | 4 | 2025-02-14 14:54:03.847000 |
+--------------+------------+-------------------------------+------------------------------+----------------------------+------------------------------+----------------------------+----------------------------+
1 row in set (20.22 sec)
@stephen-shelby
before compactions
we scan 51 mil without delete files, 73 mil with delete files
after compaction
we scan 124 mil with delete files
it is slower than before compaction
please note that there are only a handful of delete row records now
@stephen-shelby