您好,登錄后才能下訂單哦!
小編給大家分享一下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è)資訊頻道!
免責(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)容。