Dian Fay:修复行级安全策略的性能问题
💡
原文英文,约3300词,阅读约需12分钟。
📝
内容提要
在Postgres中,行级安全性通过角色和策略控制访问。比较item_admin和item_reader的查询性能发现,item_reader的查询速度明显慢于item_admin。经过优化策略,使用缓存函数和并行处理后,查询时间有所改善,但仍未达到item_admin的速度。
🎯
关键要点
- Postgres中的行级安全性通过角色和策略控制访问。
- item_reader的查询性能明显慢于item_admin,经过优化后仍未达到item_admin的速度。
- item_admin角色可以查看所有项目,而item_reader的访问受限于用户配置的会话设置。
- item_reader的查询使用了顺序扫描而非索引扫描,导致性能下降。
- 通过优化策略,使用更高效的操作和缓存函数,查询时间有所改善。
- 函数的稳定性和并行性设置影响查询性能,稳定函数可以提高查询效率。
- 通过将多个查询合并为InitPlan,可以进一步减少查询时间。
- 最终优化后的查询时间接近item_admin,但仍有提升空间。
➡️