发布于 2026-09-28T23:35:41.516939Z · Chris van Eijk · Now-Next

面向租户的列表查询通常同时按租户过滤、按日期排序。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