最近开发部门的测试提出一个问题,在我们某一个项目的postgresql V12的服务器上某个表在查询的时候1000行数据竟然跑出了 27秒的"好成绩". 我大PG 的性能这么差,这不能呀....这个表中包含了两个JSON 格式的数据, 问题就从这里开始,
我们通过命令来查询这张表到底有多大, 214MB , 几百行的数据已经到了214MB, 并且还是不包含索引的情况下.那么此时心里已经有底了...根据toast中的四种的模式的介绍 plan , extended , external, main 4种模式,
Plan 的方式是阻止toast存储,并且也禁止压缩数据,也就是当你的一个column...的数据大于页面的大小,将被禁止存储....而使用extended的方式虽然也是可以使用TOAST的方式但他也是要先去通过main的方式来压缩数据.