日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

本數(shù)據(jù)庫提供了多種索引類型:B-tree、Hash、GiST、SP-GiST、GIN和BRIN。每一種索引類型使用了一種不同的算法來適應(yīng)不同類型的查詢。默認(rèn)情況下,CREATE INDEX命令創(chuàng)建適合于大部分情況的B-tree索引。

B-tree

B-tree可以在可排序數(shù)據(jù)上的處理等值和范圍查詢。特別地,本數(shù)據(jù)庫的查詢規(guī)劃器會在任何一種涉及到以下操作符的已索引列上考慮使用B-tree索引:

<

<=

=

>=

>

將這些操作符組合起來,例如BETWEENIN,也可以用 B-tree 索引搜索實現(xiàn)。同樣,在索引列上的IS NULLIS NOT NULL條件也可以在 B-tree 索引中使用。

優(yōu)化器也會將 B-tree 索引用于涉及到模式匹配操作符LIKE~ 的查詢,前提是如果模式是一個常量且被固定在字符串的開頭—例如:col LIKE 'foo%'或者col ~ '^foo', 但在col LIKE '%bar'上則不會。但是,如果我們的數(shù)據(jù)庫沒有使用 C 區(qū)域設(shè)置,我們需要創(chuàng)建一個具有特殊操作符類的索引來支持模式匹配查詢。同樣可以將 B-tree 索引用于ILIKE~,但僅當(dāng)模式以非字母字符開始,即不受大小寫轉(zhuǎn)換影響的字符。

B-tree 索引也可以用于檢索排序數(shù)據(jù)。這并不會總是比簡單掃描和排序更快,但是總是有用的。

Hash索引

Hash 索引只能處理簡單等值比較。不論何時當(dāng)一個索引列涉及到一個使用了=操作符的比較時,查詢規(guī)劃器將考慮使用一個 Hash 索引。下面的命令將創(chuàng)建一個 Hash 索引:

    CREATE INDEX name ON table USING HASH (column);

GiST索引

GiST索引并不是一種單獨的索引,而是可以用于實現(xiàn)很多不同索引策略的基礎(chǔ)設(shè)施。相應(yīng)地,可以使用一個 GiST 索引的特定操作符根據(jù)索引策略(操作符類)而變化。作為一個例子,本數(shù)據(jù)庫的標(biāo)準(zhǔn)捐獻包中包括了用于多種二維幾何數(shù)據(jù)類型的 GiST 操作符類,它用來支持使用下列操作符的索引化查詢:

<<

&<

&>

>>

<<|

&<|

|&>

|>>

@>

<@

~=

&&

內(nèi)建 GiST 操作符類表中給出了標(biāo)準(zhǔn)發(fā)布中所包括的 GiST 操作符類。GiST 索引也有能力優(yōu)化“最近鄰”搜索,例如:

    SELECT * FROM places ORDER BY location <-> point '(101,456)' LIMIT 10;

它將找到離給定目標(biāo)點最近的10個位置。能夠支持這種查詢的能力同樣取決于被使用的特定操作符類。在內(nèi)建GiST操作符類表中,“Ordering Operators”列中列出了可以在這種方法中使用的操作符。

SP-GiST索引

和 GiST 相似,SP-GiST索引為支持多種搜索提供了一種基礎(chǔ)結(jié)構(gòu)。SP-GiST 允許實現(xiàn)眾多不同的非平衡的基于磁盤的數(shù)據(jù)結(jié)構(gòu),例如四叉樹、k-d樹和 radix 樹。作為一個例子,本數(shù)據(jù)庫的標(biāo)準(zhǔn)捐獻包中包含了一個用于二維點的 SP-GiST 操作符類,它用于支持使用下列操作符的索引化查詢:

<<

>>

~=

<@

<^

>^

內(nèi)建 SP-GiST 操作符類表中給出了標(biāo)準(zhǔn)發(fā)布中所包括的 SP-GiST 操作符類。就像 GiST、SP-GiST 支持“nearest-neighbor”搜索。對于支持距離排序的 SP-GiST 運算符類別,相應(yīng)的運算符被規(guī)定在內(nèi)建 SP-GiST 操作符類表里面的“Ordering Operators”列中。

GIN索引

GIN索引是“倒排索引”,它適合于包含多個組成值的數(shù)據(jù),例如數(shù)組。在倒排索引中,每個組成值都包含一個單獨的項,可以高效地處理查詢指定組成值是否存在的操作。與GiST和SP-GiST類似,GIN可以支持多種不同的用戶定義的索引策略,并且與一個GIN索引配合使用的特定操作符取決于索引策略。作為一個例子,本數(shù)據(jù)庫的標(biāo)準(zhǔn)貢獻包中包含了用于數(shù)組的GIN操作符類,它用于支持使用下列操作符的索引化查詢:

<@

@>

=

&&

內(nèi)建 GIN 操作符類表中給出了標(biāo)準(zhǔn)發(fā)布中所包括的 GIN 操作符類。

BRIN索引

BRIN 索引(塊范圍索引的縮寫)存儲有關(guān)存放在一個表的連續(xù)物理塊范圍上的值摘要信息。與GiST、SP-GiST和GIN相似,BRIN可以支持很多種不同的索引策略,并且可以與一個BRIN索引配合使用的特定操作符取決于索引策略。對于具有線性排序順序的數(shù)據(jù)類型,被索引的數(shù)據(jù)對應(yīng)于每個塊范圍的列中值的最小值和最大值,使用這些操作符來支持用到索引的查詢:

<

<=

=

>=

>