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

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                # 11.3\. 多字段索引 一個索引可以定義在表中多個字段上。比如下面這樣的表(把`/dev` 目錄保存在一個數據庫里): ``` CREATE TABLE test2 ( major int, minor int, name varchar ); ``` 并且你經常發出下面這樣的查詢: ``` SELECT name FROM test2 WHERE major = _constant_ AND minor = _constant_; ``` 那么在字段`major`和`minor` 上聯合定義一個索引是比較合適的做法,也就是: ``` CREATE INDEX test2_mm_idx ON test2 (major, minor); ``` 目前,只有 B-tree , GiST和 GIN 支持多字段索引。缺省最多可以聲明 32 個字段 (這個限制可以在編譯PostgreSQL時改變, 見`pg_config_manual.h`文件)。 一個多字段的 B-tree 索引可以用在包含索引字段子集的查詢條件里,不過, 如果在前導字段(最左邊)上有約束條件,那么效率最高。準確的規則是前導字段上的等于約束, 加上第一個沒有等于約束的非等于約束字段,將用于限制所掃描的索引范圍。 將檢查這兩個字段右邊字段上的索引以減少對表的訪問,但是并不減少需要掃描的索引。比如, 假如我們有一個在`(a, b, c)`上的索引,查詢條件是`WHERE a = 5 AND b &gt;= 42 AND c &lt; 77`, 那么索引就需要先掃描所有`a`= 5 且`b`= 42 ,直到所有`a` = 5 的記錄掃描完畢。那些`c` &gt;= 77的索引條目將被忽略,但是他們仍然會被掃描。 這個索引原則上仍然會被用于那些在`b`和/或`c`上有約束, 但是在`a`上沒有約束的查詢,但是就必須掃描整個索引了。因此,在大多數這種情況下, 優化器會選擇順序掃描表,而不使用索引。 一個多字段的 GiST 索引可以用于那些查詢條件包含索引字段子集的查詢中。 附加字段上的條件會限制索引返回的條目, 但是第一個字段上的條件是決定需要掃描多少索引內容的最重要的字段。 如果在第一個字段上只有很少的一些唯一的數值,那么 GiST 就相對來說不那么高效了, 即使在附加字段上有許多獨立的數值也如此。 一個多字段的 GIN 索引可以用于那些查詢條件包含索引字段子集的查詢中。 不像B-tree 或 GiST,除了查詢條件使用的索引字段外,索引的搜索效率是相同的。 當然,每個字段都必須和適合該索引類型的操作符一起使用;包含其它操作符的子句將不會被考慮。 使用多字段索引應該謹慎。在大多數情況下,在單字段上的索引就足夠了,并且還節約時間和空間。 除非表的使用模式非常固定,否則超過三個字段的索引幾乎沒什么用處。 又見[Section 11.5](#calibre_link-717)獲取有關不同索引設置的優缺點的討論。
                  <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>

                              哎呀哎呀视频在线观看