中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么進行PostgreSQL的JSON處理

發布時間:2021-12-13 17:46:51 來源:億速云 閱讀:1379 作者:柒染 欄目:大數據

今天就跟大家聊聊有關怎么進行PostgreSQL的JSON處理,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

首先POSTGRESQL 支持兩種JSON格式,JSON and  JSONB ,在PG 9.X 版本對JSON的支持就已經出具規模了(MONGODB 中的支持BSON格式),拿在postgresql 中大概率的你是要使用JSONB 這樣的格式,這樣的格式有以下一些好處

1 處理的速度快

2 可以添加索引

當然也有一些東西是有限制的,這里先不表,另外學習的過程,我發現一個點,就是如果你能在學習的過程中,先得到一點甜頭,則你后續的學習就會有興趣,并且很可能越學越快

所以下面我們先做一點實踐,增加興趣

我們建立一個表,如果按照MONGODB 來說,應該叫collection, 然后我們插入一條 document ,格式是jsonb ,但如果你用MONGODB 的方式來理解,你可以找到一點不一樣的地方

怎么進行PostgreSQL的JSON處理

可以看到,其實要展示數據在POSTGRESQL 中也并不是難事

怎么進行PostgreSQL的JSON處理

然后我們創建一個索引,熟悉PG的人都知道他模糊查詢的厲害,下面的索引的建立也頗有那幾分味道。

怎么進行PostgreSQL的JSON處理

explain analyze SELECT * FROM json_test WHERE info @> '{"name": "Calor"}';

查詢中也有一些 JSONB 特殊的查詢的方式,但這樣的查詢方式比初次使用MONGODB 的查詢語句對熟悉SQL 的人要親切的多。

怎么進行PostgreSQL的JSON處理

怎么進行PostgreSQL的JSON處理

到這里我們可以小結一下,PostgreSQL 里面的JSON 可以使用JSONB 的方式來進行存儲,并且大部分時間創建一個GIN 的索引就可以滿足大部分查詢,如果使用過MONGODB 的,可以知道MONGODB 本身存儲是B+樹來存儲索引的,特定的查詢也要配合特定建立的索引,這點上就....... 

下面我們繼續做測試,看看是不是POSTGRESQL 可以一個索引就將所有的查詢都HOLD 住。

下面我們創建,一個新的collection

 create  table test_json_2 (info jsonb);

插入數據

insert into test_json_2 select ('{"name": "nn-' || round(random()*20000000) || '", "ajon": "address", "tags": ["system", "database", "langrage"]}')::jsonb from (select * from generate_series(1,100000)) as temp;

怎么進行PostgreSQL的JSON處理

一個10萬行的collection就生成了,照方抓藥,創建索引后,直接查詢,結果很明顯是可以走索引的。

怎么進行PostgreSQL的JSON處理

并且網上提及的某些不能走索引的情況,在PG11 這個版本也是可以開始走索引了。

怎么進行PostgreSQL的JSON處理

當然如果你統計的數據是全表,或大部分數據,則還是要走全表掃描的

怎么進行PostgreSQL的JSON處理

這里大致的看了一下POSTGRESQL 對JOSN 的支持,相對于某些數據庫還是友好的,并且符合人類快速理解和上手的方式。

怎么進行PostgreSQL的JSON處理

當然在面對專業文檔數據庫MONGODB 的強大的處理能力下,沒有其他的數據庫可以抗衡,因為那個是他的 飯碗,如果不是很復雜(就是那種嵌套,嵌套,嵌套,還有數組的讓人頭要炸開的那種)的JSON 或者你沒有專業的MONGODB 的支持,想使用JSON 或文檔的方式在數據庫里面不想失望的使用,POSTGRESQL 是一個選擇,不錯的。

看完上述內容,你們對怎么進行PostgreSQL的JSON處理有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

孝感市| 新乡县| 资阳市| 赣榆县| 台山市| 察雅县| 禄丰县| 玉树县| 綦江县| 遵义市| 乌拉特中旗| 依安县| 林周县| 延吉市| 建平县| 嵊泗县| 汉源县| 墨江| 长春市| 闽侯县| 海丰县| 湾仔区| 北票市| 阿城市| 泰来县| 翼城县| 建湖县| 黑河市| 广宗县| 临泽县| 炉霍县| 五莲县| 龙井市| 乌兰县| 钦州市| 宁化县| 元阳县| 烟台市| 庆城县| 永春县| 酒泉市|