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,但仍有提升空间。
➡️

继续阅读