↑↓ 选择↵ 打开⌫ 切换范围完整搜索

PG.CENTER 连接 PostgreSQL 文档、百科与生态知识。由 Pigsty 维护。

多租户索引实验揭示 RLS 通用计划偏差 RSS

面向租户的列表查询通常同时按租户过滤、按日期排序。Chris van Eijk 用 PostgreSQL 17.10、两百万行和规模不均的千个租户测试,发现租户列在前的复合索引能兼顾过滤与排序。更隐蔽的问题来自通过会话设置取得租户身份的 RLS:无参数预备语句可能复用受首个租户影响的计划,强制自定义计划也不能替它创造参数。保留 RLS 作为权限边界,同时显式传入租户查询参数,有助于规划器适应大小租户;效果仍需用实际分布验证。

发布于 2026-09-28T23:35:41.516939Z · Chris van Eijk · Now-Next
RLS 多租户 索引

面向租户的列表查询通常同时按租户过滤、按日期排序。Chris van Eijk 用 PostgreSQL 17.10、两百万行和规模不均的千个租户测试,发现租户列在前的复合索引能兼顾过滤与排序。更隐蔽的问题来自通过会话设置取得租户身份的 RLS:无参数预备语句可能复用受首个租户影响的计划,强制自定义计划也不能替它创造参数。保留 RLS 作为权限边界,同时显式传入租户查询参数,有助于规划器适应大小租户;效果仍需用实际分布验证。

面向租户的列表查询通常同时按租户过滤、按日期排序。Chris van Eijk 用 PostgreSQL 17.10、两百万行和规模不均的千个租户测试,发现租户列在前的复合索引能兼顾过滤与排序。更隐蔽的问题来自通过会话设置取得租户身份的 RLS:无参数预备语句可能复用受首个租户影响的计划,强制自定义计划也不能替它创造参数。保留 RLS 作为权限边界,同时显式传入租户查询参数,有助于规划器适应大小租户;效果仍需用实际分布验证。

原始来源 ↗

来源记录
  • pgweb.info_item · 10ec7ead84015cb4 · 2026-10-03T04:08:55.967155Z