溫馨提示×

溫馨提示×

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

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

PostgreSQL中支持什么類型的索引

發(fā)布時間:2020-07-16 14:57:03 來源:億速云 閱讀:334 作者:清晨 欄目:編程語言

小編給大家分享一下PostgreSQL中支持什么類型的索引,相信大部分人都還不怎么了解,因此分享這邊文章給大家學(xué)習(xí),希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去學(xué)習(xí)方法吧!

PostgreSQL支持什么索引

PostgreSQL有很多索引類型,分別是B-tree、GIN、GiST、SP-GiST、BRIN、哈希索引。

推薦:postgresql教程

每種索引類型都有各自適用的情景,具體使用哪一種索引取決于數(shù)據(jù)類型、表中的底層基本數(shù)據(jù)和執(zhí)行的查詢類型。

接下來簡單看一下PostgreSQL中可用的索引類型有哪些,以及各種情況下適合使用哪個索引。

1、B-tree

PostgreSQL中,B-tree索引是最常用的一種索引類型。

用索引掃描比順序掃描速度快,因為它可能只需要讀取少部分頁面,而順序掃描可能讀取幾千個頁面。

默認(rèn)情況下,使用CREATE INDEX語句,會創(chuàng)建一個B-tree索引,這對于大多數(shù)常用數(shù)據(jù)類型比如文本、數(shù)字等的適用性很強。

2、GIN

當(dāng)數(shù)據(jù)類型在一列中包含多個值時適用。

這種情況下最常見的數(shù)據(jù)類型是hstore、range、jsonb等,并不是所有的數(shù)據(jù)類型都支持這種索引類型。

3、GiST

GiST索引適用的情況是:

有一些數(shù)據(jù),它們和其他行的同一列中的值在某種程度上相互覆蓋,此時適用。

最合適的數(shù)據(jù)類型是:幾何類型、全文檢索時的文本類型。

4、SP-GiST

空間分區(qū)GiST索引,適用于較大的數(shù)據(jù),當(dāng)數(shù)據(jù)有自然聚類元素時最適用,典型的例子是電話號碼。

5、BRIN

適用于較大的數(shù)據(jù),和SP-GiST類似。

當(dāng)有非常大的數(shù)據(jù)表,而且按時間、郵政編碼排好順序時,BRIN索引允許快速的跳過或排除很多不需要的數(shù)據(jù)。

6、哈希索引

可以提供比B-tree索引更快的查詢。但最大的問題是被限制在等值上所以需要尋找準(zhǔn)確的匹配。這使得哈希索引不那么靈活。

以上是PostgreSQL中支持什么類型的索引的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI