索引3列的最佳选项,其中Postgresql中一次只查询2列

问题描述 投票:1回答:1

对于以下场景,什么是最有效的索引? 3列:

user_id, created_at, and name.

((user_idcreated_at)一起被查询,并且(user_idname)被一起查询。

created_atname专门用于排序。举个例子:

SELECT "items".* FROM "items" WHERE "items"."user_id" = $1 ORDER BY created_at [["user_id", 1]]

要么

SELECT "items".* FROM "items" WHERE "items"."user_id" = $1 ORDER BY name [["user_id", 1]]

我知道索引是从左到右的,所以"user_id, created_at""user_id, name"上的两个多列索引是最好的还是有一种方法可以“共享”user_id索引(类似于user_id,created_at和name上的3个索引)?

sql database postgresql indexing
1个回答
0
投票

使用bloom index

这可以用作包含索引列的任意子集的查询的过滤器。

您必须安装bloom contrib模块。

© www.soinside.com 2019 - 2024. All rights reserved.