Columnar Chunk Group Filters not used if type is VARCHAR
- 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
Assessment
This issue has not been assessed yet.