<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.1\. 介紹 假設有像下面這樣一個表: ``` CREATE TABLE test1 ( id integer, content varchar ); ``` 發出大量下面這樣的語句進行查詢: ``` SELECT content FROM test1 WHERE id = _constant_; ``` 通常,數據庫系統不得不一行一行地掃描整個`test1` 表以尋找所有匹配的記錄。如果在`test1`里面有許多行, 但是只返回少數幾行(可能是零行或一行),那么上面這個方法可就很差勁了。 如果我們讓數據庫系統在`id`列上維護一個索引用于定位匹配的行。 這樣,數據庫系統只需要在搜索樹中走少數的幾層就可以找到匹配行。 在大多數非小說的書籍里面都使用了類似這樣的方法:在書的背后收集著讀者會經常查找的術語和概念的索引, 并按照字母順序排列。有興趣的讀者可以快速地掃描該索引并且切換到合適的頁, 因此不用閱讀整本書就能查找到感興趣的位置。作者的任務之一就是預計哪些項是讀者最需要查找的東西, 與之類似,預計哪些索引可以帶來便利也是數據庫程序員的任務。 下面的命令可以用于在`id`列上創建前面討論過的索引: ``` CREATE INDEX test1_id_index ON test1 (id); ``` 索引名字`test1_id_index`可以自由選擇, 但是應該選那些稍后可以讓你回憶起索引含義的名字。 要刪除一個索引,使用`DROP INDEX`命令。 你可以在任何時候向表里增加索引或者從表中刪除索引。 一旦你創建了索引,那么就不需要更多干涉了:當表有修改時系統會更新索引, 并且當系統認為用索引比順序的表掃描快的時候它就會使用索引。 不過你可能必須經常性地運行`ANALYZE`命令以更新統計信息, 好讓查詢規劃器能夠做出訓練有素的判斷。參見[Chapter 14](#calibre_link-1183) 獲取關于如何獲知是否使用了索引的信息,以及在什么時候、什么原因下規劃器會決定 _不_使用索引。 索引對帶搜索條件的`UPDATE`和`DELETE`命令也有好處。 索引更可以用于表連接查詢。因此,如果你定義了索引的列是連接條件的一部分, 那么它也可以顯著提高連接的查詢速度。 在一個巨大的表上創建索引可能會消耗大量的時間。缺省時,PostgreSQL 允許在創建索引的同時讀取表(`SELECT`語句),但是寫入表(`INSERT`, `UPDATE`, `DELETE`)的動作將被阻塞到索引創建完畢。 在生產環境下這種阻塞通常是不可接受的,因此也允許在創建索引的同時寫入表, 但是有一些警告需要注意,更多信息參見[_并發建立索引_](#calibre_link-1899)。 創建索引之后,它必須和表保持同步。這些操作增加了數據操作的負荷。 因此我們應該把那些非關鍵或者根本用不上的索引刪除掉。
                  <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>

                              哎呀哎呀视频在线观看