PostgreSQL中json和jsonb的区别

相同点

  • 都用来存储json数据

不同点

  • 存储方式不同:json是以文本格式进行存储的;jsonb是以二进制格式进行存储的。
  • 写入速度不同:json > jsonb (因为把json解析之后再进行存储,所以jsonb多了解析的过程)
  • 条件查询速度不同:json < jsonb (因为每次读取json都需要进行解析,多了解析的过程)
  • json格式上的不同:json原样进行存储,会保留空格等不影响含义的字符;jsonb会解析之后进行存储,所以不会保留空格等字符,且json中key不能重复,如重复保留最后一个值。

建议

  • 如果你的应用只是需要对json进行保存和读取,则建议使用json。
  • 如果你的应用需要在PostgreSQL中做比较多的json值操作,或者在json字段上使用索引时,应该使用jsonb

觉得内容还不错?打赏个钢镚鼓励鼓励!!👍