<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>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                # 12.9\. GiST和GIN索引類型 有兩種類型的索引可以用于加快全文搜索。注意全文檢索不一定非要使用索引。 但是在規則基礎上搜索列的情況下,索引往往是可取的。 `CREATE INDEX` `_name_` ON `_table_` USING gist(`_column_`); 創建以GiST(通用搜索樹)為基礎的索引,`_column_`可以是`tsvector` or `tsquery` 類型。 `CREATE INDEX` `_name_` ON `_table_` USING gin(`_column_`); 創建以GIN(基因倒排索引)為基礎的索引,`_column_`必須是`tsvector`類型。 在兩個索引類型之間有著巨大的性能差異,因此了解它們的特性是很重要的。 GiST索引是有_損耗的_,這意味著該索引可能會產生錯誤的匹配, 并且有必要檢查實際的表行消除這種錯誤匹配(PostgreSQL需要時自動執行)。 GiST索引是有損耗的,因為每個文檔在索引中通過一個固定長度的標簽進行表示。 它是通過散列每個單詞到一個n位的字符串的單一的點產生,所有這些位OR-ed一起產生一個n位的文件標簽。 當兩個單詞散列到相同點的位置,將有一個錯誤匹配。如果查詢中的所有單詞匹配(真實的或錯誤的), 則必須檢索表行查看匹配是否是正確的。 數據丟失導致了性能下降,由于表記錄的不必要的獲取,產生了錯誤的匹配。 由于隨機訪問表記錄是緩慢的,這限制了GiST索引的效能。錯誤匹配的可能性取決于幾個因素, 特別是獨特詞的數量,所以推薦使用詞典來降低這些數量。 GIN索引并沒有損耗標準查詢,但它們的性能取決于對數獨特的單詞數。 (然而,GIN索引只存儲`tsvector`值的字(詞),而不是它們的權重標簽。因此, 當使用涉及權重的查詢時,需要復查一個表行。) 在選擇要使用的索引類型時,GiST或者GIN考慮這些性能上的差異: * GIN索引查找比GiST快約三倍 * GIN索引建立比GIST需要大約三倍的時間。 * GIN索引更新比GiST索引速度慢,但如果快速更新支持無效,則慢了大約10倍(詳情請見節[Section 57.3.1](#calibre_link-751)) * GIN索引比GiST索引大兩到三倍 一般來說,GIN索引對靜態數據是最好的,因為查找速度很快。對于動態數據, GiST索引更新比較快。具體而言,GiST索引非常適合動態數據,并且如果獨特的字(詞)在100,000以下, 則比較快,而GIN索引將處理100,000+詞匯,但是更新比較慢。 請注意,GIN索引編譯時間通常可以通過增加[maintenance_work_mem](#calibre_link-1150)改進, 而GiST索引編譯時間對參數不敏感。 大集合的分區以及GiST和GIN索引的合理使用允許非常快速的搜索與在線升級的實現。 分區可以在數據庫級別使用表繼承,或者在服務器發布文檔并且使用[dblink](#calibre_link-63)模塊采集搜索結果。 后者是可能的,因為相關函數只使用本地信息。
                  <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>

                              哎呀哎呀视频在线观看