diff --git a/datafusion/core/benches/aggregate_query_sql.rs b/datafusion/core/benches/aggregate_query_sql.rs
index 057a0e1d1b54..9da341ce2e92 100644
--- a/datafusion/core/benches/aggregate_query_sql.rs
+++ b/datafusion/core/benches/aggregate_query_sql.rs
@@ -153,6 +153,38 @@ fn criterion_benchmark(c: &mut Criterion) {
})
});
+ c.bench_function(
+ "aggregate_query_group_by_wide_u64_and_string_without_aggregate_expressions",
+ |b| {
+ b.iter(|| {
+ query(
+ ctx.clone(),
+ &rt,
+ // Due to the large number of distinct values in u64_wide,
+ // this query test the actual grouping performance for more than 1 column
+ "SELECT u64_wide, utf8 \
+ FROM t GROUP BY u64_wide, utf8",
+ )
+ })
+ },
+ );
+
+ c.bench_function(
+ "aggregate_query_group_by_wide_u64_and_f32_without_aggregate_expressions",
+ |b| {
+ b.iter(|| {
+ query(
+ ctx.clone(),
+ &rt,
+ // Due to the large number of distinct values in u64_wide,
+ // this query test the actual grouping performance for more than 1 column
+ "SELECT u64_wide, f32 \
+ FROM t GROUP BY u64_wide, f32",
+ )
+ })
+ },
+ );
+
c.bench_function("aggregate_query_approx_percentile_cont_on_u64", |b| {
b.iter(|| {
query(
diff --git a/datafusion/core/benches/data_utils/mod.rs b/datafusion/core/benches/data_utils/mod.rs
index c0477b1306f7..fffe2e2d1752 100644
--- a/datafusion/core/benches/data_utils/mod.rs
+++ b/datafusion/core/benches/data_utils/mod.rs
@@ -81,10 +81,11 @@ fn create_data(size: usize, null_density: f64) -> Vec