• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    數據庫基礎:講解MySQL索引的概念及數據庫索引的應用[

    發布: 2008-5-12 17:29 | 作者: GOD | 來源: 希賽網 | 查看: 80次 | 進入軟件測試論壇討論

    領測軟件測試網 1.數據庫引入了索引

      用戶對數據庫最頻繁的操作是進行數據查詢。一般情況下,數據庫在進行查詢操作時需要對整個表進行數據搜索。當表中的數據很多時,搜索數據就需要很長的時間,這就造成了服務器的資源浪費。為了提高檢索數據的能力,數據庫引入了索引機制。

      2.有關“索引”的比喻

      從某種程度上,可以把數據庫看作一本書,把索引看作書的目錄,通過目錄查找書中的信息,顯然較沒有目錄的書方便、快捷。

      3.數據庫索引實際是什么?(兩部分組成)

      索引是一個單獨的、物理的數據庫結構,它是某個表中一列或若干列值的集合和相應的指向表中物理標識這些值的數據頁的邏輯指針清單。

      4.索引在表中的角色

      一個表的存儲是由兩部分組成的,一部分用來存放表的數據頁面,另一部分存放索引頁面。索引就存放在索引頁面上,

      5.索引高效原理

      通常,索引頁面相對于數據頁面來說小得多。當進行數據檢索時,系統先搜索索引頁面,從中找到所需數據的指針,再直接通過指針從數據頁面中讀取數據。

      6.索引的分類

      在SQL Server 的數據庫中按存儲結構的不同將索引分為兩類:簇索引(Clustered Index)和非簇索引(Nonclustered Index)。

      (1)簇索引對表的物理數據頁中的數據按列進行排序,然后再重新存儲到磁盤上,即簇索引與數據是混為一體,的它的葉節點中存儲的是實際的數據。由于簇索引對表中的數據一一進行了排序,因此用簇索引查找數據很快。但由于簇索引將表的所有數據完全重新排列了,它所需要的空間也就特別大,大概相當于表中數據所占空間的120% 。表的數據行只能以一種排序方式存儲在磁盤上,所以一個表只能有一個簇索引。

      (2)非簇索引具有與表的數據完全分離的結構,使用非簇索引不用將物理數據頁中的數據按列排序。非簇索引的葉節點中存儲了組成非簇索引的關鍵字的值和行定位器。行定位器的結構和存儲內容取決于數據的存儲方式。如果數據是以簇索引方式存儲的,則行定位器中存儲的是簇索引的索引鍵;如果數據不是以簇索引方式存儲的,這種方式又稱為堆存儲方式(Heap Structure),則行定位器存儲的是指向數據行的指針。非簇索引將行定位器按關鍵字的值用一定的方式排序,這個順序與表的行在數據頁中的排序是不匹配的。由于非簇索引使用索引頁存儲因此它比簇索引需要更多的存儲空間且檢索效率較低但一個表只能建一個簇索引,當用戶需要建立多個索引時就需要使用非簇索引了。

      小結:Clustered Index 是與物理數據混在一起并對物理數據進重排,就像使用拼音查字典;Unclustered Index 是與物理數據完全分離的,利用額外空間對關鍵字進行重排,就像使用部首查字典。

      數據庫索引應用

      一、索引的概念

      索引就是加快檢索表中數據的方法。數據庫的索引類似于書籍的索引。在書籍中,索引允許用戶不必翻閱完整個書就能迅速地找到所需要的信息。在數據庫中,索引也允許數據庫程序迅速地找到表中的數據,而不必掃描整個數據庫。

      二、索引的特點

      1.索引可以加快數據庫的檢索速度

      2.索引降低了數據庫插入、修改、刪除等維護任務的速度

      3.索引創建在表上,不能創建在視圖上

      4.索引既可以直接創建,也可以間接創建

      5.可以在優化隱藏中,使用索引

      6.使用查詢處理器執行SQL語句,在一個表上,一次只能使用一個索引

      7.其他

      三、索引的優點

      1.創建唯一性索引,保證數據庫表中每一行數據的唯一性

      2.大大加快數據的檢索速度,這也是創建索引的最主要的原因

      3.加速表和表之間的連接,特別是在實現數據的參考完整性方面特別有意義。

      4.在使用分組和排序子句進行數據檢索時,同樣可以顯著減少查詢中分組和排序的時間。

      5.通過使用索引,可以在查詢的過程中使用優化隱藏器,提高系統的性能。

      四、索引的缺點

      1.創建索引和維護索引要耗費時間,這種時間隨著數據量的增加而增加

      2.索引需要占物理空間,除了數據表占數據空間之外,每一個索引還要占一定的物理空間,如果要建立聚簇索引,那么需要的空間就會更大

      3.當對表中的數據進行增加、刪除和修改的時候,索引也要動態的維護,降低了數據的維護速度

    文章來源于領測軟件測試網 http://www.kjueaiud.com/

    TAG: Mysql MySQL mysql 概念 基礎 數據庫 索引

    21/212>

    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>