亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Postgresql中json和jsonb類型區(qū)別解析

 更新時間:2024年06月05日 09:22:45   作者:谷新龍001  
在我們的業(yè)務開發(fā)中,可能會因為特殊【歷史,偷懶,防止表連接】經(jīng)常會有JSON或者JSONArray類的數(shù)據(jù)存儲到某列中,這個時候再PG數(shù)據(jù)庫中有兩種數(shù)據(jù)格式可以直接一對多或者一對一的映射對象,接下來通過本文介紹Postgresql中json和jsonb類型區(qū)別,需要的朋友可以參考下

在我們的業(yè)務開發(fā)中,可能會因為特殊【歷史,偷懶,防止表連接】經(jīng)常會有JSON或者JSONArray類的數(shù)據(jù)存儲到某列中,這個時候再PG數(shù)據(jù)庫中有兩種數(shù)據(jù)格式可以直接一對多或者一對一的映射對象。所以我們也可能會經(jīng)常用到這類格式數(shù)據(jù);PG數(shù)據(jù)庫存儲json類型數(shù)據(jù)可以有兩種數(shù)據(jù)類型JSON和JSONB

json和jsonb區(qū)別

json和jsonb都可以json和jsonArray類型的數(shù)據(jù)

實際上主要區(qū)別在于寫入和查詢效率以及數(shù)據(jù)存儲上面

性能

  • json 數(shù)據(jù)類型存儲了輸入文本的精確副本,這意味著每次需要訪問或修改數(shù)據(jù)時,數(shù)據(jù)庫都必須重新解析該文本。這會導致在處理大型 JSON 文檔或進行頻繁的 JSON 操作時性能下降。
  • 相比之下,jsonb 數(shù)據(jù)類型將 JSON 數(shù)據(jù)存儲為一種分解好的二進制格式。雖然這在輸入時會稍微慢一些,因為需要進行額外的轉(zhuǎn)換,但它在處理時要快得多,因為不需要進行解析。

存儲方式

  • json 數(shù)據(jù)類型保留了輸入文本的完整結(jié)構(gòu),包括可能存在的空格、JSON 對象內(nèi)部鍵的順序以及重復的鍵/值對。這意味著它提供了一種“所見即所得”的存儲方式,但也可能導致不必要的空間占用和可能的性能開銷。
  • jsonb 數(shù)據(jù)類型在存儲時會刪除不必要的空格、不保留對象鍵的順序,并且只保留每個鍵的最后一個值(如果存在重復鍵)。這種存儲方式更加緊湊,并且可以提高查詢和處理的效率。

索引支持

  • jsonb 數(shù)據(jù)類型支持基于 GIN(Generalized Inverted Index)或 B-tree 的索引,這使得基于 JSON 數(shù)據(jù)的查詢可以更加高效。通過索引,您可以快速檢索 JSON 文檔中的特定元素或值。
  • json 數(shù)據(jù)類型則不支持這樣的索引,這可能會限制其在大型數(shù)據(jù)集或需要高性能查詢的應用中的使用。

所以我們在不同情況下可以選擇不同的數(shù)據(jù)格式【PS:業(yè)務系統(tǒng)大概率是進行單條數(shù)據(jù)新增,批量數(shù)據(jù)查詢和過濾,這些情況選擇什么數(shù)據(jù)格式大家應該都比較清楚了,如果有特殊情況可以特殊考慮處理,其實根本就是空間換時間】

其他

在創(chuàng)建表的時候發(fā)現(xiàn)還有一種數(shù)據(jù)類型jsonpath,這個數(shù)據(jù)類型可以存儲解析json格式的表達式

SELECT jsonb_path_query(jsonb_1 ,  jsonpath_1) FROM tb_json;

結(jié)果如下

在這里插入圖片描述

在一般的業(yè)務場景下我們的json格式一般都是固定的,但是有一些特殊情況比如我們抓取一些非格式話的數(shù)據(jù)的時候可以存儲下解析規(guī)則,然后對規(guī)則進行補全,逐步完善我們數(shù)據(jù)解析的能力

到此這篇關(guān)于Postgresql中json和jsonb類型區(qū)別的文章就介紹到這了,更多相關(guān)Postgresql json和jsonb類型區(qū)別內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • PostgreSQL教程(十四):數(shù)據(jù)庫維護

    PostgreSQL教程(十四):數(shù)據(jù)庫維護

    這篇文章主要介紹了PostgreSQL教程(十四):數(shù)據(jù)庫維護,本文講解了恢復磁盤空間、更新規(guī)劃器統(tǒng)計、VACUUM和ANALYZE的示例、定期重建索引等內(nèi)容,需要的朋友可以參考下
    2015-05-05
  • postgresql 實現(xiàn)sql多行語句合并一行

    postgresql 實現(xiàn)sql多行語句合并一行

    這篇文章主要介紹了postgresql 實現(xiàn)sql多行語句合并一行的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • PostgreSQL 分頁查詢時間的2種比較方法小結(jié)

    PostgreSQL 分頁查詢時間的2種比較方法小結(jié)

    這篇文章主要介紹了PostgreSQL 分頁查詢時間的2種比較方法小結(jié),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • Docker環(huán)境下升級PostgreSQL的步驟方法詳解

    Docker環(huán)境下升級PostgreSQL的步驟方法詳解

    這篇文章主要介紹了Docker環(huán)境下升級PostgreSQL的步驟方法詳解,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-01-01
  • 使用PostgreSQL的JSONB數(shù)據(jù)類型進行高效查詢的示例代碼

    使用PostgreSQL的JSONB數(shù)據(jù)類型進行高效查詢的示例代碼

    PostgreSQL的JSONB數(shù)據(jù)類型提供了一種靈活的方式來存儲和查詢JSON格式的數(shù)據(jù),下面我們將詳細討論如何使用JSONB數(shù)據(jù)類型進行高效查詢,并提供相應的解決方案和示例代碼,需要的朋友可以參考下
    2024-04-04
  • Postgres 創(chuàng)建Role并賦予權(quán)限的操作

    Postgres 創(chuàng)建Role并賦予權(quán)限的操作

    這篇文章主要介紹了 Postgres 創(chuàng)建Role并賦予權(quán)限的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01
  • postgresql中如何執(zhí)行sql文件

    postgresql中如何執(zhí)行sql文件

    這篇文章主要介紹了postgresql中如何執(zhí)行sql文件問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • Windows下PostgreSQL安裝圖解

    Windows下PostgreSQL安裝圖解

    這篇文章主要為大家介紹了如果在Windows下安裝PostgreSQL數(shù)據(jù)庫的方法,需要的朋友可以參考下
    2013-11-11
  • 使用navicat連接postgresql報錯問題圖文解決辦法

    使用navicat連接postgresql報錯問題圖文解決辦法

    我們在日常開發(fā)中有時候需要用navicate連接postgresql數(shù)據(jù)庫,有時候會連接不上數(shù)據(jù)庫,下面這篇文章主要給大家介紹了關(guān)于使用navicat連接postgresql報錯問題圖文解決辦法,需要的朋友可以參考下
    2023-11-11
  • 在docker上部署postgreSQL主從的超詳細步驟

    在docker上部署postgreSQL主從的超詳細步驟

    使用Docker能夠更加高效地部署和管理應用程序,提高開發(fā)和運維的效率,下面這篇文章主要給大家介紹了關(guān)于在docker上部署postgreSQL主從的超詳細步驟,文中通過代碼及圖文介紹的非常詳細,需要的朋友可以參考下
    2024-08-08

最新評論