隨筆-26  評論-12  文章-0  trackbacks-0

          什么是索引?

              提起索引,應該不會感到陌生,若說它就是目錄,大概都知道了,數據庫的索引與書的目錄很相似,都叫index.書的內容相當于數據庫表中的數據,書的目錄通過頁碼指向書的內容,同樣,索引也記錄了表中的關鍵值,提供了指向表中行的指針.書的目錄使讀者很快的找到想看的內容,而不必翻看書的每一頁,索引使得數據庫應用程序能夠不掃描全表而找到想要的數據.

           

          索引是不是多多益善?

              索引可以創建在一列或多列的組合上,也可以在數據庫表的多個列上建立不同的索引,但這些列應該是經常作為查詢條件的列.需要指出的是,并不是表上的索引越多越好,在數據庫設計過程中,還是需要為表選擇一些合適的索引。寧缺勿爛,這是建立索引時的一個具體選擇。在理論上,雖然一個表可以設置無限的索引,表中的索引越多,維護索引所需要的開銷也就越大。每當數據表中記錄有增加、刪除、更新變化的時候,數據庫系統都需要對所有索引進行更新。

           

          索引的分類

              索引可以分為三類:聚集索引(clustered index),非聚集索引,唯一性索引(unique index).根據索引字段組成又有復合索引的說法,復合索引可以是唯一索引也可以不是唯一索引.一個表上最多創建一個聚集索引和249個非聚集索引.

           

          創建索引的條件

          (1)為經常出現在關鍵字orderby、group by、distinct后面的字段,建立索引。

          (2)在union等集合操作的結果集字段上,建立索引。

          (3)為經常用作查詢選擇的字段,建立索引。

          (4)在經常用作表連接的屬性上,建立索引。

          (5)考慮使用索引覆蓋。對數據很少被更新的表,如果用戶經常只查詢其中的幾個字段,可以考慮在這幾個字段上建立索引,從而將表的掃描改變為索引的掃描。

           

          創建索引的限制

          (1)限制索引數目。

           (2)唯一性太差的字段不適合單獨創建索引;

           (3)更新頻繁的字段不適合創建索引;

           (4)不會做為查詢條件的字段不創建索引

          posted on 2012-08-18 23:09 地心引力 閱讀(1481) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 柳林县| 芜湖县| 水富县| 枣强县| 高陵县| 汕头市| 武安市| 桂东县| 阳泉市| 金溪县| 贺州市| 浦县| 永靖县| 石景山区| 桐乡市| 衢州市| 花垣县| 屏南县| 灯塔市| 博野县| 剑阁县| 云梦县| 通辽市| 洛川县| 长泰县| 旅游| 当阳市| 嘉荫县| 毕节市| 大余县| 泽库县| 宣城市| 平南县| 桃园市| 冷水江市| 南投市| 永年县| 云和县| 寿宁县| 连平县| 洛隆县|