citusdata / citusdata/citus

Columnar Chunk Group Filters not used if type is VARCHAR

Open
#5,562 0 comments 0 reactions 0 assignees View on GitHub
columnar user_reported
Dominant language
C
Stars
12.8k
Forks
794
Avg merge
2d 14h
Merged PRs (30d)
31

Description

psql 14.1
citus 10.2-4

Columnar Chunk Group Filters are used if type is TEXT but not if VARCHAR

```
db=# CREATE TABLE citus_test (i int, t1 varchar(3), t2 text) USING COLUMNAR ;
CREATE TABLE
db=# INSERT INTO citus_test SELECT i, substr(i::text,1,3), substr(i::text,1,3) FROM generate_series(1,10000000) AS t(i);
INSERT 0 10000000
db=# EXPLAIN ANALYZE SELECT * FROM citus_test WHERE t1 = '123';
QUERY PLAN
------------------------------------------------------------------------------------------------------------------------------------
Custom Scan (ColumnarScan) on citus_test (cost=0.00..3625.72 rows=50000 width=52) (actual time=1.018..900.360 rows=11111 loops=1)
Filter: ((t1)::text = '123'::text)
Rows Removed by Filter: 9988889
Columnar Projected Columns: i, t1, t2
Planning Time: 0.348 ms
Execution Time: 900.717 ms
(6 rows)

wrds=# EXPLAIN ANALYZE SELECT * FROM citus_test WHERE t2 = '123';
QUERY PLAN
---------------------------------------------------------------------------------------------------------------------------------
Custom Scan (ColumnarScan) on citus_test (cost=0.00..54.12 rows=50000 width=52) (actual time=0.664..14.046 rows=11111 loops=1)
Filter: (t2 = '123'::text)
Rows Removed by Filter: 68889
Columnar Projected Columns: i, t1, t2
Columnar Chunk Group Filters: (t2 = '123'::text)
Columnar Chunk Groups Removed by Filter: 992
Planning Time: 0.325 ms
Execution Time: 14.381 ms
(8 rows)
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.