999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

關于數據庫索引的探討

2013-08-15 00:44:35陜西財經職業技術學院信息工程系楊軍莉
電子世界 2013年6期
關鍵詞:數據庫物理

陜西財經職業技術學院信息工程系 楊軍莉

由于計算機網絡技術的迅猛發展,企業間數據交流的各種數據量的急劇增長,不但要求處理的結果要準確,而且也要求處理速度及時,這對數據庫的處理能力能力方面提出了更高的要求,如何設置有效的數據庫索引達到數據庫優化是本文要討論的重點。

應用索引的過程其實類似于查新華字典,比照數據庫的概念,新華字典里的拼音檢字法和部首檢字法就是新華字典的兩種不同的索引,而新華字典的正文則相當于表同時創建索引并不會改變表中的數據的物理位置,它只是創建了一個新的數據結構指向數據表。比起逐一查閱字典正文查找某一個具體的漢字,顯然不管使用哪種檢字法都可以很快地在字典正文中找到這個漢字,這就是使用索引的給我們帶來的好處。如何準確高效地從海量的信息中查詢到想要的數據,已成為數據庫設計人員的首要任務。

所以我們可以從邏輯上簡單地認為,索引是一個單獨的、物理的數據結構,它主要包含兩列內容,第一列是從表或視圖中的列或列的組合所生成的鍵值的集合,且根據鍵值以升序或降序排列。這一列類似于新華字典的音序,它以字母升序排列,即A在最前,而Z在最后。索引的另外一列則是指向表中這些值的數據頁的邏輯指針的集合。這一列則類似于對應音序的頁碼。索引依賴于表,作為表的組成部分,由數據庫系統自動維護,是對數據庫表中一個或多個列的值進行排序的數據結構,不同的索引對應不同的排序方法。一個表的存儲是由兩部分組成的,一部分是用來存放數據的數據頁面,另一部分是用來存放索引的索引索引頁面,通常索引頁面比數據頁面小得多。

假設表中的數據在磁盤上存儲是有序的,那么當在數據庫在進行插入數據、刪除數據和更新數據時,則一定會導致數據的順序會發生變化,為了保證數據的連續性和有序性,就需要重新移動數據,改變它們的物理位置,而種移動將會導致增大磁盤的I/O操作,使得整個數據庫運行非常緩慢;使用索引的主要目的是使數據邏輯有序。為了實現數據邏輯有序,實際上索引的物理結構是一個雙向鏈表,使用雙向鏈表來保證數據的邏輯順序,如果要對表中的一個已有結點進行更新則僅需修改該節點的前驅和后繼,而且無需修改該節點的物理位置;如果要在兩個節點中插入一個新的節點只需修改節點的前驅和后繼,而且無需修改新節點的物理位置;如果要刪除一個已有結點,則僅需修改其前驅結點的后繼為該被刪除結點的后繼??偟膩碚f,索引保存著具體數據的物理地址值。

索引從大的方面分為聚集索引和非聚集索引。所謂聚集索引是指表中數據的物理順序是和索引的順序是一至的,數據頁是聚集索引的葉節點,數據頁之間通過雙向鏈表的形式連接起來,而且實際的數據都存儲在數據頁中。查詢時,數據庫首先根據索引查找,找到索引值后,接著查找該索引的數據頁(葉節點)獲取具體數據。如果沒有索引,則查詢時會進行全表的遍歷。第二類索引則稱為非聚集索引,非聚集索引是物理存儲不按照索引排序,非聚集索引的葉節點(IndexLeafPages)包含著指向具體數據行的指針或聚集索引,數據頁之間沒有連接是相對獨立的頁。具體地來說,非聚集索引又分為:①堆表非聚集索引在沒有聚集索引的情況下,表中的數據頁是通過堆(Heap)形式進行存儲,堆是不含聚集索引的表;SQLServer中的堆存儲是把新的數據行存儲到最后一個頁中。非聚集索引通過雙向鏈表連接,而葉節點包含指具體數據行的指針。堆表中查詢信息時,首先遍歷索引,獲取到指針信息,再根據指針信息獲取相應數據頁中的數據。②聚集表非聚集索引當表上存在聚集索引時,任何非聚集索引的葉節點就不是指針值,而是包含聚集索引的索引值。非聚集索引依然通過雙向鏈表連接,但葉節點包含的是索引表的索引值。在聚集表中查詢信息時,首先遍歷索引,獲取索引值,然后根據索引值獲取相應數據頁中的數據。

數據庫查詢表主要通過以下五種方式:

①TableScan:掃描整個表,這個操作將會逐行檢查整個表,直到找到所匹配的記錄行或者掃描完整個表??梢钥闯?,這種查找記錄的方式效率是最差的。

②IndexScan:根據索引,按照一定的算法從表中過濾出來一部分記錄,在過濾出來的這一部分記錄中進行查找所匹配的記錄行,顯然這種方式比第一種方式的查找范圍要小,因此比TableScan的查找效率高。

③IndexSeek:根據索引,直接定位(獲取)記錄的存放位置,然后根據獲取的記錄的存放位置,直接取得記錄,因此,比TableScan、IndexScan快。

④ClusteredIndexScan:與TableScan相似,這種方式也是要遍歷整個表,但是它與TableScan不同的是數據表中的記錄已經按照聚集索引來排列了,即記錄實際就是按聚集索引的來順序存放的。而TableScan掃描的表只是沒有建立聚集索引,表中的記錄沒有按照一定的順序存放,因此這兩個操作本質上是一樣的。

⑤ClusteredIndexSeek:這種方式是直接根據聚集索引獲取記錄,因為表中的記錄已經按照聚集索引排列了,所以是最快的查詢方法。

一個表是不是索引越多越好呢,當然不是。因為增加索引后,會增加維護該索引的時空開銷,修改數據表時,必須要更新相應字段的索引。當一個表中的索引過多時,也嚴重會影響性能。一般會考慮在經常查詢的列上建立相關索引并及時刪除不需要的索引。

總之,索引使數據庫引的查詢操作執行的速度更快,它可以有針對性的數據檢索,而不是簡單地整個表掃描(FullTableScan)。在數據庫中,為表添加必要的索引會提高查詢的執行效率,但是過多的索引必然需要更新和維護索引表,這將會導致系統性能下降,所以必須控制索引的數量及時刪除不必要的索引。

[1]曹素麗,楊延廣.ORACLE數據庫索引的設計與維護研究[J].微型電腦應用,2012(11):29-31.

[2]馬守東.關系數據庫索引的研究和探索[J].信息與電腦(理論版),2011(10):159-160.

[3]張效尉,姜靜.內存數據庫技術研究[J].軟件導刊,2011(10):147-148

[4]涂剛,劉華清,傅偉.數據表結構的研究[J].天水師范學院學報,2009(5):86-88.

[5]岳國華.提高ORACLE8i數據庫響應速度的若干技術對策[J].計算機應用與軟件,2004(5):110-112.

猜你喜歡
數據庫物理
只因是物理
井岡教育(2022年2期)2022-10-14 03:11:44
如何打造高效物理復習課——以“壓強”復習課為例
處處留心皆物理
我心中的物理
數據庫
財經(2017年15期)2017-07-03 22:40:49
三腳插頭上的物理知識
數據庫
財經(2017年2期)2017-03-10 14:35:35
數據庫
財經(2016年15期)2016-06-03 07:38:02
數據庫
財經(2016年3期)2016-03-07 07:44:46
數據庫
財經(2016年6期)2016-02-24 07:41:51
主站蜘蛛池模板: 亚洲欧美在线综合一区二区三区| 四虎永久免费网站| 久久精品免费看一| 精品国产成人国产在线| 亚洲成人网在线观看| 国产精品污视频| 亚洲伊人久久精品影院| 一级毛片在线免费视频| 国产亚洲一区二区三区在线| 亚洲娇小与黑人巨大交| 99这里只有精品免费视频| 欧美视频在线第一页| 欧美国产精品不卡在线观看| 亚洲精品色AV无码看| 亚洲欧美激情小说另类| 99久久精品久久久久久婷婷| 久久五月视频| 一区二区三区成人| 亚洲欧美在线看片AI| 免费观看国产小粉嫩喷水| 国产亚洲精品资源在线26u| 国产欧美日韩在线一区| 欧美激情第一欧美在线| 亚洲人成影院在线观看| 国产9191精品免费观看| 国产男人天堂| 免费观看亚洲人成网站| 伊人色婷婷| 成人精品午夜福利在线播放| 播五月综合| 成人精品午夜福利在线播放| 免费国产福利| 狠狠ⅴ日韩v欧美v天堂| 热久久这里是精品6免费观看| 99久久国产综合精品2020| 91精品国产一区| 嫩草国产在线| 亚洲系列无码专区偷窥无码| 国产欧美日韩视频怡春院| 超清无码一区二区三区| 色成人综合| 亚洲精品不卡午夜精品| 免费毛片全部不收费的| 美女毛片在线| 国产人妖视频一区在线观看| 久久久久免费看成人影片| 久久semm亚洲国产| 国产精品久久久久鬼色| 全午夜免费一级毛片| 日韩123欧美字幕| 人妻精品久久无码区| 免费无遮挡AV| 午夜毛片免费看| 亚洲美女高潮久久久久久久| 亚洲日韩欧美在线观看| 亚洲大学生视频在线播放| 亚洲人视频在线观看| h视频在线观看网站| 国产一区二区丝袜高跟鞋| 视频一区亚洲| 国产女人综合久久精品视| 天天摸天天操免费播放小视频| 亚洲视频影院| 亚洲有码在线播放| 亚洲三级a| 91久久国产综合精品| 亚洲精品国产精品乱码不卞| 久久精品人人做人人| 在线看片免费人成视久网下载| 国产丝袜91| 亚洲综合久久成人AV| 国产国语一级毛片| 国产va免费精品| 久久99久久无码毛片一区二区 | 中文无码日韩精品| 99久久无色码中文字幕| 国产chinese男男gay视频网| 99视频在线免费观看| 99re在线免费视频| 国产另类乱子伦精品免费女| 日本久久网站| 欧美曰批视频免费播放免费|