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

關于數據庫索引的探討

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

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

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

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

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

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

索引從大的方面分為聚集索引和非聚集索引。所謂聚集索引是指表中數據的物理順序是和索引的順序是一至的,數據頁是聚集索引的葉節點,數據頁之間通過雙向鏈表的形式連接起來,而且實際的數據都存儲在數據頁中。查詢時,數據庫首先根據索引查找,找到索引值后,接著查找該索引的數據頁(葉節點)獲取具體數據。如果沒有索引,則查詢時會進行全表的遍歷。第二類索引則稱為非聚集索引,非聚集索引是物理存儲不按照索引排序,非聚集索引的葉節點(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
主站蜘蛛池模板: 91网红精品在线观看| 精品国产成人三级在线观看| 好吊色国产欧美日韩免费观看| 亚洲V日韩V无码一区二区| 九九久久精品免费观看| 亚洲第一av网站| 国产爽妇精品| 亚洲av无码久久无遮挡| 男人天堂亚洲天堂| 看你懂的巨臀中文字幕一区二区 | 五月激情婷婷综合| 中文字幕佐山爱一区二区免费| 97精品国产高清久久久久蜜芽| 国产综合欧美| 亚洲综合香蕉| 国产成人综合网| 无码免费视频| 性欧美精品xxxx| 秘书高跟黑色丝袜国产91在线| 久热re国产手机在线观看| 亚洲成在线观看| 亚洲精品无码不卡在线播放| 色窝窝免费一区二区三区| 亚洲最大看欧美片网站地址| 无码AV日韩一二三区| 日本高清有码人妻| 1024国产在线| 国产靠逼视频| 91久草视频| 欧美97色| www.99在线观看| 最新日韩AV网址在线观看| 强乱中文字幕在线播放不卡| 亚洲福利一区二区三区| 久久综合色视频| 精品天海翼一区二区| 成人亚洲视频| 久久6免费视频| 91精品啪在线观看国产91| 性欧美久久| 99久视频| 欧美伊人色综合久久天天| 成人精品视频一区二区在线 | 婷婷综合色| 大乳丰满人妻中文字幕日本| 亚洲开心婷婷中文字幕| 免费三A级毛片视频| 91九色国产在线| 在线日韩日本国产亚洲| 欧美一道本| 中文字幕亚洲综久久2021| 亚洲国产中文在线二区三区免| 色天堂无毒不卡| 久久精品66| 亚洲欧美日韩另类在线一| 老色鬼欧美精品| 黄色网页在线播放| 久久超级碰| 日本一区二区三区精品视频| 成人在线观看一区| 国产不卡在线看| 午夜啪啪福利| 国产精品久久久精品三级| 91人妻在线视频| 天堂av高清一区二区三区| 日韩在线播放中文字幕| 成人国内精品久久久久影院| 欧美特黄一免在线观看| 亚洲成人网在线观看| 国产在线91在线电影| 丁香六月综合网| 在线免费亚洲无码视频| 欧美www在线观看| www.国产福利| 五月天天天色| 国产亚洲欧美在线专区| 国产尤物在线播放| 久无码久无码av无码| 色综合五月婷婷| 亚洲日韩精品综合在线一区二区| 国产97区一区二区三区无码| www.av男人.com|