<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智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                # 11.4\. 索引和`ORDER BY` 除了只是返回查詢到的行,索引可以以一個特定的順序傳送它們。這樣就允許查詢的`ORDER BY` 說明可以不用一個單獨的排序步驟。當前PostgreSQL支持的索引類型, 只有 B-tree 可以產生排序的輸出—其他的索引類型返回的行是非指定的、依賴于實現的順序。 規劃器將考慮滿足`ORDER BY`聲明,通過掃描匹配聲明的可用的索引, 或者通過掃描物理順序的表和做一個明確的排序。對于一個需要掃描表的一大部分的查詢, 明確的排序可能要比使用索引快的多,因為它使用順序存取模式所以需要較少的磁盤I/O。 當只需要獲取幾行時,索引是更有效的。一個重要的特殊情況是`ORDER BY`和 `LIMIT` `_n_`一起使用:一個明確的排序將處理所有的數據以識別前 `_n_`行,但是如果有一個索引匹配`ORDER BY`,那么前`_n_` 行可以直接找出,而不用掃描剩下的部分。 默認的,B-tree索引以遞增、空值最后的順序存儲記錄。這意味著在字段`x` 上向前掃描索引產生的輸出滿足`ORDER BY x`(或者`ORDER BY x ASC NULLS LAST`)。 索引掃描也可以向后掃描,產生的輸出滿足`ORDER BY x DESC`(或者 `ORDER BY x DESC NULLS FIRST`,因為`NULLS FIRST`默認是`ORDER BY DESC`)。 創建索引時,可以通過包含選項`ASC`, `DESC`, `NULLS FIRST`, 和/或 `NULLS LAST`調整B-tree索引的順序;例如: ``` CREATE INDEX test2_info_nulls_low ON test2 (info NULLS FIRST); CREATE INDEX test3_desc_index ON test3 (id DESC NULLS LAST); ``` 以遞增順序、空值在前的順序存儲的索引可以滿足`ORDER BY x ASC NULLS FIRST`或 `ORDER BY x DESC NULLS LAST`,取決于掃描的方向。 你可能想知道為什么麻煩的提供所有的四個選項,當向后掃描時兩個選項可以包含`ORDER BY` 的所有變體。在單字段索引中,這些選項確實冗余,但是在多字段索引中,它們就是有用的了。 考慮一個在`(x, y)`上的兩字段索引:當我們向前掃描時,可以滿足`ORDER BY x, y`, 或者當我們向后掃描時,可以滿足`ORDER BY x DESC, y DESC`。但是可能應用經常的需要使用 `ORDER BY x ASC, y DESC`。在普通的索引上無法得到這種順序,但是如果索引定義為 `(x ASC, y DESC)`或`(x DESC, y ASC)`就是可能的了。 明顯的,沒有默認排序順序的索引是比較專業的特征,但是有時它們對特定的查詢可以產生極大的加速。 是否值得維持這樣的索引取決于你使用需要特殊排序順序的查詢的頻率。
                  <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>

                              哎呀哎呀视频在线观看