索引用於快速找出在某個列中某一特定值的行。不使索引,資料庫必須從第一條記錄開始讀完整個表,直到找到相關行。如果表中查詢的列有一個索引,資料庫能快速到達一個位置去搜尋數據,而不必查看所有數據。 索引的含義和特點: 索引是一個單獨的、存儲在磁碟上的數據結構,他們包含著對數據表裡所有記錄的應用指針。使用索 ...
索引用於快速找出在某個列中某一特定值的行。不使索引,資料庫必須從第一條記錄開始讀完整個表,直到找到相關行。如果表中查詢的列有一個索引,資料庫能快速到達一個位置去搜尋數據,而不必查看所有數據。
索引的含義和特點:
索引是一個單獨的、存儲在磁碟上的數據結構,他們包含著對數據表裡所有記錄的應用指針。使用索引用於快速找出在某個或多個列中有一某特定值的行,對相關列使用索引是降低查詢操作時間的最佳途徑,索引包含有表或視圖中的一列或多列生成的鍵。
資料庫中現在有2萬條記錄,現在要執行這樣一個查詢:SELECT* FROM table where num=10000。如果沒有索引,必須遍歷整個表,直到num等於10000的這一行被找到為止;如果在num列上創建索引,SQLServer不需要任何掃描,直接在索引裡面找10000,就可以得知這一行的位置。可見,索引的建立可以加快資料庫的查詢速度。
索引的優點主要有以下幾條:
1.通過創建唯一索引,可以保證資料庫表中每一行數據的唯一性。
2.可以大大加快數據的查詢速度。
3.實現數據的參照完整性,可以加速表與表之間的連接。
4.在使用分組和排序字句進行數據查詢時,也可以顯著減少查詢中分組和排序的時間。
索引的缺點主要有以下幾條:
1.創建和維護索引要消耗時間,並且隨著數據量的增加所耗費的時間也會增加。
2.索引需要占磁碟空間,除了數據表占數據空間外,每一個索引還要占一定的物理空間,如果有大量的索引,索引文件可能比數據文件更快到達最大文件尺寸。
3.當對數據表中的數據進行增刪改的時候,索引也要動態的維護,這樣就降低了數據的維護速度。