伊丽莎白·加勒特·克里斯滕森:Postgres TOAST:自切片面包以来最伟大的发明?

伊丽莎白·加勒特·克里斯滕森:Postgres TOAST:自切片面包以来最伟大的发明?

💡 原文英文,约1100词,阅读约需4分钟。
📝

内容提要

Postgres使用TOAST将大于8kb的数据分割成较小的块进行存储,TOAST可能会影响查询性能,并且由Postgres自动完成。TOASTed数据存储在单独的表中,并且可以进行压缩。TOASTed数据通常对查询响应较慢。为了实现高效的存储和检索,重要考虑数据类型设置和数据建模的改变。

🎯

关键要点

  • Postgres使用TOAST将大于8kb的数据分割成较小的块进行存储。
  • TOAST是自动完成的,用户无需手动设置。
  • TOAST可能会影响查询性能,增加数据交付的复杂性。
  • Postgres的页面大小为8kb,通常希望每个元组的大小不超过2kb。
  • TOASTed数据存储在单独的表中,并且可以进行压缩。
  • TOAST表自动索引,数据查找速度较快。
  • 数据类型的存储选项包括PLAIN、EXTENDED、EXTERNAL和MAIN,影响TOAST和压缩。
  • TOAST表用于存储文本、JSON、图像等大数据类型。
  • 更新TOASTed行的单个列时,必须更新所有受影响的页面,可能导致性能问题。
  • 频繁访问的数据不应使用TOAST,建议使用传统列结构。
  • 对于空间数据和较大集合,可能需要使用TOAST,可能导致查询效率低下。
  • 注意数据类型设置和数据建模,以提高存储和检索效率。
➡️

继续阅读