小編給大家分享一下PostgreSQL中支持什么類型的索引,相信大部分人都還不怎么了解,因此分享這邊文章給大家學(xué)習(xí),希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去學(xué)習(xí)方法吧!
創(chuàng)新互聯(lián)公司主要從事網(wǎng)站制作、成都做網(wǎng)站、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)偃師,十多年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來(lái)電咨詢建站服務(wù):028-86922220
PostgreSQL支持什么索引
PostgreSQL有很多索引類型,分別是B-tree、GIN、GiST、SP-GiST、BRIN、哈希索引。
推薦:postgresql教程
每種索引類型都有各自適用的情景,具體使用哪一種索引取決于數(shù)據(jù)類型、表中的底層基本數(shù)據(jù)和執(zhí)行的查詢類型。
接下來(lái)簡(jiǎn)單看一下PostgreSQL中可用的索引類型有哪些,以及各種情況下適合使用哪個(gè)索引。
1、B-tree
PostgreSQL中,B-tree索引是最常用的一種索引類型。
用索引掃描比順序掃描速度快,因?yàn)樗赡苤恍枰x取少部分頁(yè)面,而順序掃描可能讀取幾千個(gè)頁(yè)面。
默認(rèn)情況下,使用CREATE INDEX語(yǔ)句,會(huì)創(chuàng)建一個(gè)B-tree索引,這對(duì)于大多數(shù)常用數(shù)據(jù)類型比如文本、數(shù)字等的適用性很強(qiáng)。
2、GIN
當(dāng)數(shù)據(jù)類型在一列中包含多個(gè)值時(shí)適用。
這種情況下最常見(jiàn)的數(shù)據(jù)類型是hstore、range、jsonb等,并不是所有的數(shù)據(jù)類型都支持這種索引類型。
3、GiST
GiST索引適用的情況是:
有一些數(shù)據(jù),它們和其他行的同一列中的值在某種程度上相互覆蓋,此時(shí)適用。
最合適的數(shù)據(jù)類型是:幾何類型、全文檢索時(shí)的文本類型。
4、SP-GiST
空間分區(qū)GiST索引,適用于較大的數(shù)據(jù),當(dāng)數(shù)據(jù)有自然聚類元素時(shí)最適用,典型的例子是電話號(hào)碼。
5、BRIN
適用于較大的數(shù)據(jù),和SP-GiST類似。
當(dāng)有非常大的數(shù)據(jù)表,而且按時(shí)間、郵政編碼排好順序時(shí),BRIN索引允許快速的跳過(guò)或排除很多不需要的數(shù)據(jù)。
6、哈希索引
可以提供比B-tree索引更快的查詢。但最大的問(wèn)題是被限制在等值上所以需要尋找準(zhǔn)確的匹配。這使得哈希索引不那么靈活。
以上是PostgreSQL中支持什么類型的索引的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!