隨筆-26  評(píng)論-12  文章-0  trackbacks-0

          什么是索引?

              提起索引,應(yīng)該不會(huì)感到陌生,若說(shuō)它就是目錄,大概都知道了,數(shù)據(jù)庫(kù)的索引與書(shū)的目錄很相似,都叫index.書(shū)的內(nèi)容相當(dāng)于數(shù)據(jù)庫(kù)表中的數(shù)據(jù),書(shū)的目錄通過(guò)頁(yè)碼指向書(shū)的內(nèi)容,同樣,索引也記錄了表中的關(guān)鍵值,提供了指向表中行的指針.書(shū)的目錄使讀者很快的找到想看的內(nèi)容,而不必翻看書(shū)的每一頁(yè),索引使得數(shù)據(jù)庫(kù)應(yīng)用程序能夠不掃描全表而找到想要的數(shù)據(jù).

           

          索引是不是多多益善?

              索引可以創(chuàng)建在一列或多列的組合上,也可以在數(shù)據(jù)庫(kù)表的多個(gè)列上建立不同的索引,但這些列應(yīng)該是經(jīng)常作為查詢條件的列.需要指出的是,并不是表上的索引越多越好,在數(shù)據(jù)庫(kù)設(shè)計(jì)過(guò)程中,還是需要為表選擇一些合適的索引。寧缺勿爛,這是建立索引時(shí)的一個(gè)具體選擇。在理論上,雖然一個(gè)表可以設(shè)置無(wú)限的索引,表中的索引越多,維護(hù)索引所需要的開(kāi)銷也就越大。每當(dāng)數(shù)據(jù)表中記錄有增加、刪除、更新變化的時(shí)候,數(shù)據(jù)庫(kù)系統(tǒng)都需要對(duì)所有索引進(jìn)行更新。

           

          索引的分類

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

           

          創(chuàng)建索引的條件

          (1)為經(jīng)常出現(xiàn)在關(guān)鍵字orderby、group by、distinct后面的字段,建立索引。

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

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

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

          (5)考慮使用索引覆蓋。對(duì)數(shù)據(jù)很少被更新的表,如果用戶經(jīng)常只查詢其中的幾個(gè)字段,可以考慮在這幾個(gè)字段上建立索引,從而將表的掃描改變?yōu)樗饕膾呙琛?/p>

           

          創(chuàng)建索引的限制

          (1)限制索引數(shù)目。

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

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

           (4)不會(huì)做為查詢條件的字段不創(chuàng)建索引

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

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 芒康县| 嵩明县| 托里县| 老河口市| 个旧市| 盐亭县| 霍山县| 三穗县| 呼和浩特市| 乌兰浩特市| 溆浦县| 西藏| 通化县| 诏安县| 新沂市| 龙口市| 舞钢市| 光山县| 南丹县| 延津县| 恩施市| 五河县| 武平县| 河东区| 丹棱县| 资溪县| 图木舒克市| 长海县| 柞水县| 安福县| 白银市| 扶绥县| 朝阳区| 开江县| 大兴区| 武清区| 鹤岗市| 临沂市| 壤塘县| 金阳县| 牟定县|