gpt4 book ai didi

postgresql - Postgresql 中是否需要对复合主键的一部分进行索引?

转载 作者:行者123 更新时间:2023-12-05 02:34:59 25 4
gpt4 key购买 nike

我有一个具有复合主键的(大)表,由 5 列(a、b、c、d、e)组成。

我想高效地选择具有其中两列 (a + e) 的所有行到给定值。

在 PostgreSQL 中,我需要索引吗?或者数据库会使用主键(甚至部分使用?)

我看过以下 post , 它指定 MySQL 可以使用多列索引的最左边部分来有效地查询行。但是我没有在复合主键上找到 PostgreSQL 的任何内容。

最佳答案

为了获得最佳性能,您需要在 (a, e) 上添加一个索引。

如果这是一个选项,您可以删除主键并将其替换为 (a, e, b, c, d) 上的主键。主键索引将支持您的查询,就唯一性而言,它同样出色。

您还可以在 (e) 上试验单列索引。 PostgreSQL 可以组合对多个索引的扫描。这不会像多列索引那样快,但生成的索引会更小。

关于postgresql - Postgresql 中是否需要对复合主键的一部分进行索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70650546/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com