隨筆 - 39  文章 - 1  trackbacks - 0

            聚簇索引是一種對(duì)磁盤上實(shí)際數(shù)據(jù)重新組織以按指定的一個(gè)或多個(gè)列的值排序。由于聚簇索引的索引頁(yè)面指針指向數(shù)據(jù)頁(yè)面,所以使用聚簇索引查找數(shù)據(jù)幾乎 總是比使用非聚簇索引快。每張表只能建一個(gè)聚簇索引,并且建聚簇索引需要至少相當(dāng)該表120%的附加空間,以存放該表的副本和索引中間頁(yè)。建立聚簇索引的 思想是:

            1、大多數(shù)表都應(yīng)該有聚簇索引或使用分區(qū)來降低對(duì)表尾頁(yè)的競(jìng)爭(zhēng),在一個(gè)高事務(wù)的環(huán)境中,對(duì)最后一頁(yè)的封鎖嚴(yán)重影響系統(tǒng)的吞吐量。oracle培訓(xùn)

            2、在聚簇索引下,數(shù)據(jù)在物理上按順序排在數(shù)據(jù)頁(yè)上,重復(fù)值也排在一起,因而在那些包含范圍檢查(between、<、<=、& gt;、>=)或使用group by或order by的查詢時(shí),一旦找到具有范圍中第一個(gè)鍵值的行,具有后續(xù)索引值的行保證物理上毗連在一起而不必進(jìn)一步搜索,避免了大范圍掃描,可以大大提高查詢速度。

            3、在一個(gè)頻繁發(fā)生插入操作的表上建立聚簇索引時(shí),不要建在具有單調(diào)上升值的列(如IDENTITY)上,否則會(huì)經(jīng)常引起封鎖沖突。

            4、在聚簇索引中不要包含經(jīng)常修改的列,因?yàn)榇a值修改后,數(shù)據(jù)行必須移動(dòng)到新的位置。

            5、選擇聚簇索引應(yīng)基于where子句和連接操作的類型。

            聚簇索引的侯選列是:

            1、主鍵列,該列在where子句中使用并且插入是隨機(jī)的。

            2、按范圍存取的列,如pri_order > 100 and pri_order < 200。

            3、在group by或order by中使用的列。

            4、不經(jīng)常修改的列。

            5、在連接操作中使用的列。

          posted on 2013-08-23 16:06 親愛的小孩 閱讀(120) 評(píng)論(0)  編輯  收藏

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


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 司法| 巫山县| 庆阳市| 梓潼县| 曲靖市| 乃东县| 沛县| 冕宁县| 贵德县| 鄂尔多斯市| 格尔木市| 沭阳县| 丰顺县| 迭部县| 湟中县| 贡嘎县| 镇雄县| 奉新县| 阿鲁科尔沁旗| 瑞昌市| 杭锦后旗| 德安县| 吐鲁番市| 德令哈市| 武冈市| 嘉善县| 礼泉县| 张家港市| 曲水县| 永泰县| 定安县| 临朐县| 榕江县| 台北市| 衡阳县| 伊通| 航空| 永清县| 安阳县| 孟津县| 武隆县|