Spark 3.0 introduces dynamic partition pruning (DPP) to improve query performance. DPP allows Spark to dynamically infer which partitions need to be read based on column statistics, reducing the amount of data read. For star schema queries with a large fact table partitioned by a dimension key, DPP broadcasts the dimension table and prunes irrelevant fact table partitions at runtime before joining the tables. This optimization avoids unnecessary I/O by only reading the relevant fact table partitions.