<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                # F.5\. btree_gist `btree_gist`提供 GiST索引操作符類實現數據類型`int2`, `int4`, `int8`, `float4`, `float8`, `numeric`, `timestamp with time zone`, `timestamp without time zone`, `time with time zone`, `time without time zone`, `date`, `interval`, `oid`, `money`, `char`, `varchar`, `text`, `bytea`, `bit`, `varbit`, `macaddr`, `inet`和`cidr` B-tree等價操作。 總的來說,這些操作符類不會超過等值標準的B樹索引方法, 他們缺乏標準B樹代碼的一個主要特點:強制唯一性的能力。然而, 它們提供一些不可用于B樹索引的其他功能,正如下面描述的。 另外當需要多列GiST索引時, 這些操作符類是有用的, 其中一些列是唯一可以使用GiST可索引的數據類型 但是其他列僅僅是簡單的數據類型。 最終,這些操作符類對GiST測試是有用的, 并且作為開發其他GiST操作符類的基礎。 除了典型的B樹搜索操作符,`btree_gist` 還提供索引支持`&lt;&gt;` ("不等")。 這可能在與 [exclusion constraint](#calibre_link-1064)結合中很用, 正如下面描述。 另外,對于數據類型是一種天然的距離度量, `btree_gist`定義了一個距離操作符`&lt;-&gt;`, 并且使用該操作符為最近相鄰搜索提供GiST索引支持。 為`int2`, `int4`, `int8`, `float4`, `float8`, `timestamp with time zone`, `timestamp without time zone`, `time without time zone`, `date`, `interval`, `oid`和`money`提供距離操作符。 ## F.5.1\. 例子用法 使用`btree_gist`而不是`btree`的簡單例子: ``` CREATE TABLE test (a int4); -- 創建索引 CREATE INDEX testidx ON test USING gist (a); -- 查詢 SELECT * FROM test WHERE a < 10; -- 最近相鄰搜索:找到最接近"42"的十項 SELECT *, a <-> 42 AS dist FROM test ORDER BY a <-> 42 LIMIT 10; ``` 使用[排斥約束](#calibre_link-1064)可以執行該規則 動物園籠子里只能包含一種動物: ``` => CREATE TABLE zoo ( cage INTEGER, animal TEXT, EXCLUDE USING gist (cage WITH =, animal WITH <>) ); => INSERT INTO zoo VALUES(123, 'zebra'); INSERT 0 1 => INSERT INTO zoo VALUES(123, 'zebra'); INSERT 0 1 => INSERT INTO zoo VALUES(123, 'lion'); ERROR: conflicting key value violates exclusion constraint "zoo_cage_animal_excl" DETAIL: Key (cage, animal)=(123, lion) conflicts with existing key (cage, animal)=(123, zebra). => INSERT INTO zoo VALUES(124, 'lion'); INSERT 0 1 ``` ## F.5.2\. 作者 Teodor Sigaev (`&lt;[teodor@stack.net](mailto:teodor@stack.net)&gt;`), Oleg Bartunov (`&lt;[oleg@sai.msu.su](mailto:oleg@sai.msu.su)&gt;`)和 Janko Richter (`&lt;[jankorichter@yahoo.de](mailto:jankorichter@yahoo.de)&gt;`)。參閱 [http://www.sai.msu.su/~megera/postgres/gist/](http://www.sai.msu.su/~megera/postgres/gist/) 獲取額外信息。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看