小编Z. *_* M.的帖子

如何在 PostgreSQL 中列出表的所有索引及其相应的大小?

我可以查看表中所有索引的总大小

SELECT pg_size_pretty (pg_indexes_size('table_name'));

以及特定索引的大小:

select pg_size_pretty(pg_relation_size('index_name'));,

但我想分别检索一个包含表的每个索引的大小信息的列表(索引大小的列表及其所属的相应索引名称)

postgresql indexing postgresql-12 postgresql-13

8
推荐指数
2
解决办法
7125
查看次数

在 PostgreSQL 上从 UNION ALL(不使用 UNION)删除重复项的最快方法?

我有一个包含数亿行的表,我想从同一个表的 2 个索引列中获取唯一值的单个列表(没有唯一的行 ID)

为了说明这一点,假设我们有一个包含一fruits列和一veggies列的表,我想构建一个healthy_foods包含两列中唯一值的列表。

我尝试过以下查询:

与联盟

WITH cte as (
    SELECT fruit, veggie
    FROM recipes
)
SELECT fruit as healthy_food
         FROM cte
         UNION --  <--- 
         SELECT veggie as healthy_food
         FROM cte;
Run Code Online (Sandbox Code Playgroud)

与 UNION ALL 然后 DISTINCT ON

WITH cte as (...)
SELECT DISTINCT ON (healthy_food) healthy_food FROM  --  <--- 
(SELECT fruit as healthy_food
     FROM cte
     UNION ALL --  <--- 
     SELECT veggie as healthy_food
     FROM cte) tb;
Run Code Online (Sandbox Code Playgroud)

与 UNION …

sql postgresql query-optimization

6
推荐指数
1
解决办法
3548
查看次数

从 Postgres 13 开始,哈希索引对于精确文本匹配查询来说是最佳的吗?

示例(假)情况:当将专门查询包含电子邮件(文本类型)的列以获取精确的字符串匹配时,对该列进行索引。

SELECT * FROM mytable WHERE email = 'test@test.com'
Run Code Online (Sandbox Code Playgroud)

在这些情况下,哈希索引是否比 B-TREE 有优势且没有缺点?

它们对插入/更新性能的影响是否不同?

(编辑:并且从未按此列排序)

postgresql postgresql-12 postgresql-13

5
推荐指数
1
解决办法
2043
查看次数