citusdata / citusdata/citus

Queries on citus_table view might take unexpectedly long time

Open
#4,648 3 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
C
Stars
12.8k
Forks
794
Avg merge
2d 14h
Merged PRs (30d)
31

Description

Even if we don't query the relation_size, `citus_tables` seems to always calculate the sizes. With many tables/shards, this ends up taking long time. So, it'd be nice to avoid `pg_total_relation_size` when not needed.

```SQL
SELECT 1 from citus_tables;
....
) + pg_total_relation_size('public."events.Energy Added_102062"') + pg_total_relation_size('public."events.Energy Added_102063"') + pg_total_relation_size('public."events.Energy Added_102064"') + pg_total_relation_size('public."events.Energy Added_102065"') + pg_total_relation_size('public."events.Energy Added_102066"') + pg_total_relation_size('public."events.Energy Added_102067"') + pg_total_relation_size('public."events.Energy Added_102068"') + pg_total_relation_size('public."events.Energy Added_102069"') + pg_total_relation_size('public."events.Energy Added_102070"') + pg_total_relation_size('public."events.Energy Added_102071"') + pg_total_relation_size('public."events.Energy Added_102072"') + pg_total_relation_size('public."events.Energy Added_102073"') + pg_total_relation_size('public."events.Energy Added_102074"') + pg_total_relation_size('public."events.Energy Added_102075"') + pg_total_relation_size('public."events.Energy Added_102076"') + pg_total_relation_size('public."events.Energy Added_102077"') + pg_total_relation_size('public."events.Energy Added_102078"') + pg_total_relation_size('public."events.Energy Added_102079"') + pg_total_relation_size('public."events.Energy Added_102080"') + pg_total_relation_size('public."events.Energy Added_102081"') + pg_total_relation_size('public."events.Energy Added_102082"') + pg_total_relation_size('public."events.Energy Added_102083"') + pg_total_relation_size('public."events.Energy Added_102084"') + pg_total_relation_size('public."events.Energy Added_102085"') + pg_total_relation_size('public."events.Energy Added_102086"') + pg_total_relation_size('public."events.Energy Added_102087"') + pg_total_relation_size('public."events.Energy Added_102088"') + pg_total_relation_size('public."events.Energy Added_102089"') + pg_total_relation_size('public."events.Energy Added_102090"') + pg_total_relation_size('public."events.Energy Added_102091"') + pg_total_relation_size('public."events.Energy Added_102092"') + pg_total_relation_size('public."events.Energy Added_102093"') + pg_total_relation_size('public."events.Energy Added_102094"') + pg_total_relation_size('public."events.Energy Added_102095"') + pg_total_relation_size('public."events.Energy Added_102096"') + pg_total_relation_size('public."events.Energy Added_102097"') + pg_total_relation_size('public."events.Energy Added_102098"') + pg_total_relation_size('public."events.Energy Added_102099"') + pg_total_relation_size('public."events.Energy Added_102100"') + pg_total_relation_size('public."events.Energy Added_102101"') + pg_total_relation_size('public."events.Energy Added_102102"') + pg_total_relation_size('public."events.Energy Added_102103"') + pg_total_relation_size('public."events.Energy Added_102104"') + pg_total_relation_size('public."events.Energy Added_102105"') + pg_total_relation_size('public."events.Energy Added_102106"') + pg_total_relation_size('public."events.Energy Added_102107"') + pg_total_relation_size('public."events.Energy Added_102108"') + pg_total_relation_size('public."events.Energy Added_102109"') + pg_total_relation_size('public."events.Energy Added_102110"') + pg_total_relation_size('public."events.Energy Added_102111"') + pg_total_relation_size('public."events.Energy Added_102112"') + pg_total_relation_size('public."events.Energy Added_102113"') + pg_total_relation_size('public."events.Energy Added_102114"') + pg_total_relation_size('public."events.Energy Added_102115"') + pg_total_relation_size('public."events.Energy Added_102116"') + pg_total_relation_size('public."events.Energy Added_102117"') + pg_total_relation_size('public."events.Energy Added_102118"') + pg_total_relation_size('public."events.Energy Added_102119"') + pg_total_relation_size('public."events.Energy Added_102120"') + pg_total_relation_size('public."events.Energy Added_102121"') + pg_total_relation_size('public."events.Energy Added_102122"') + pg_total_relation_size('public."events.Energy Added_102123"') + pg_total_relation_size('public."events.Energy Added_102124"') + pg_total_relation_size('public."events.Energy Added_102125"') + pg_total_relation_size('public."events.Energy Added_102126"') + pg_total_relation_size('public."events.Energy Added_102127"') + pg_total_relation_size('public."events.Energy Added_102128"') + pg_total_relation_size('public."events.Energy Added_102129"') + pg_total_relation_size('public."events.Energy Added_102130"') + pg_total_relation_size('public."events.Energy Added_102131"') + pg_total_relation_size('public."events.Energy Added_102132"') + pg_total_relation_size('public."events.Energy Added_102133"') + pg_total_relation_size('public."events.Energy Added_102134"') + pg_total_relation_size('public."events.Energy Added_102135"') + pg_total_relation_size('public."events.Energy Added_102136"') + pg_total_relation_size('public."events.Energy Added_102137"') + pg_total_relation_size('public."events.Energy Added_102138"') + pg_total_relation_size('public."events.Energy Added_102139"') + pg_total_relation_size('public."events.Energy Added_102140"') + pg_total_relation_size('public."events.Energy Added_102141"') + pg_total_relation_size('public."events.Energy Added_102142"') + pg_total_relation_size('public."events.Energy Added_102143"') + pg_total_relation_size('public."events.Energy Added_102144"') + pg_total_relation_size('public."events.Energy Added_102145"') + pg_total_relation_size('public."events.Energy Added_102146"') + pg_total_relation_size('public."events.Energy Added_102147"') + pg_total_relation_size('public."events.Energy Added_102148"') + pg_total_relation_size('public."events.Energy Added_102149"') + pg_total_relation_size('public."events.Energy Added_102150"') + pg_total_relation_size('public."events.Energy Added_102151"') + pg_total_relation_size('public."events.Energy Added_102152"') + pg_total_relation_size('public."events.Energy Added_102153"') + pg_total_relation_size('public."events.Energy Added_102154"') + pg_total_relation_size('public."events.Energy Added_102155"') + pg_total_relation_size('public."events.Energy Added_102156"') + pg_total_relation_size('public."events.Energy Added_102157"') + pg_total_relation_size('public."events.Energy Added_102158"') + pg_total_relation_size('public."events.Energy Added_102159"') + pg_total_relation_size('public."events.Energy Added_102160"') + pg_total_relation_size('public."events.Energy Added_102161"') + pg_total_relation_size('public."events.Energy Added_102162"') + pg_total_relation_size('public."events.Energy Added_102163"') + pg_total_relation_size('public."events.Energy Added_102164"') + pg_total_relation_size('public."events.Energy Added_102165"') + pg_total_relation_size('public."events.Energy Added_102166"') + pg_total_relation_size('public."events.Energy Added_102167"') + pg_total_relation_size('public."events.Energy Added_102168"') + pg_total_relation_size('public."events.Energy Added_102169"') + pg_total_relation_size('public."events.Energy Added_102170"') + pg_total_relation_size('public."events.Energy Added_102171"') + pg_total_relation_size('public."events.Energy Added_102172"') + pg_total_relation_size('public."events.Energy Added_102173"') + pg_total_relation_size('public."events.Energy Added_102174"') + pg_total_relation_size('public."events.Energy Added_102175"') + pg_total_relation_size('public."events.Energy Added_102176"') + pg_total_relation_size('public."events.Energy Added_102177"') + pg_total_relation_size('public."events.Energy Added_102178"') + pg_total_relation_size('public."events.Energy Added_102179"') + pg_total_relation_size('public."events.Energy Added_102180"') + pg_total_relation_size('public."events.Energy Added_102181"') + pg_total_relation_size('public."events.Energy Added_102182"') + pg_total_relation_size('public."events.Energy Added_102183"') + 0;
DETAIL: on server pguser@localhost:5432 connectionId: 2
count
-------
483
(1 row)

**Time: 20996.083 ms (00:20.996)**
```

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.