1. 程式人生 > >資料庫-索引(概念,優缺點,分類)

資料庫-索引(概念,優缺點,分類)

(1)索引概念:

索引是由使用者建立,能夠被修改和刪除的,實際儲存在資料庫中的物理存在,它是某一個表中一列或者若干列值的集合和相應的指向表中物理標誌這些值的資料頁的邏輯指標清單。

(2)索引的優點:

第一,通過建立唯一性索引,可以保證資料庫表中每一行資料的唯一性。 

第二,可以大大加快資料的檢索速度,這也是建立索引的最主要的原因。 

第三,可以加速表和表之間的連線,特別是在實現資料的參考完整性方面特別有意義。 

第四,在使用分組和排序子句進行資料檢索時,同樣可以顯著減少查詢中分組和排序的時間。 

第五,通過使用索引,可以在查詢的過程中,使用優化隱藏器,提高系統的效能

(3)索引的缺點:

第一,建立索引和維護索引要耗費時間,這種時間隨著資料量的增加而增加。 

第二,索引需要佔物理空間,除了資料表佔資料空間之外,每一個索引還要佔一定的物理空間,如果   要建立聚簇索引,那麼需要的空間就會更大。 

第三,當對錶中的資料進行增加、刪除和修改的時候,索引也要動態的維護,這樣就降低了資料的維   護速度。

(4)索引的分類:

① 聚集索引,表資料按照索引的順序來儲存的。對於聚集索引,葉子結點即儲存了真實的資料行,不再有另外單獨的資料頁。

② 非聚集索引,表資料儲存順序與索引順序無關。對於非聚集索引,葉結點包含索引欄位值及指向資料頁資料行的邏輯指標,該層緊鄰資料頁,其行數量與資料錶行資料量一致。 

③ 在一張表上只能建立一個聚集索引,因為真實資料的物理順序只可能是一種。如果一張表沒有聚集索引,那麼它被稱為“堆集”(Heap)。這樣的表中的資料行沒有特定的順序,所有的新行將被新增的表的末尾位置。

(5)索引一般可以通過B樹實現 

相關推薦

資料庫-儲存過程概念優缺點分類

(1)概念:     ① 儲存過程(Stored Procedure)是一組為了完成特定功能的SQL語句集。經編譯後儲存在資料庫 中。     ② 儲存過程是資料庫中的一個重要物件,使用者通過指定儲存

資料庫-索引概念優缺點分類

(1)索引概念: 索引是由使用者建立,能夠被修改和刪除的,實際儲存在資料庫中的物理存在,它是某一個表中一列或者若干列值的集合和相應的指向表中物理標誌這些值的資料頁的邏輯指標清單。 (2)索引的優點:

資料庫索引B樹B+樹雜湊

資料庫索引是儲存引擎用於快速找到記錄的一種資料結構。         《高效能MySQL》 一. 什麼是索引?   

索引分類優缺點使用

聚簇索引 連接 避免 tex 16px href 復合索引 類型 性別 索引的分類 主鍵索引:某一個屬性組能唯一標識一條記錄,主鍵索引只能有一個 唯一索引:避免同一個表中某數據列中的值重復,唯一索引可有多個 常規索引:快速定位特定數據,應加在查詢條件的字段,不易添加太

03 -3 pandas 層次化索引隱式構造顯示構造、多層列索引、多層索引物件的索引與切片操作Series的操作DataFrame的操作

pandas層次化索引 多級索引包括: 多級行索引 和 多級列索引 1. 建立多層行索引 1) 隱式構造 最常見的方法是給DataFrame建構函式的index引數傳遞兩個或更多的陣列 Series也可以建立多層索引 import numpy as np

初學:資料庫操作個能記錄生成唯一標識的方法

關於sql server 的資料操作(生成唯一標示ID) 1.SQL 操作語句 http://www.w3school.com.cn/sql/sql_in.asp 2.生成一個唯一標示 IDNEWID() 插入一條: insert into W_1(id,account,pas

很全面的登陸註冊介面實現包括頁面顯示和後臺資料庫互動寫了我一下午

1.login.jsp <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/c

FragmentPagerAdaper 實現頁面切換 和 FragmentStatePagerAdapter 實現頁面切換區別優缺點實際開發使用哪種

Fragment 繼承 v4 包 MyFragmentViewPagerAdapter 這個介面卡並沒有實現頁面銷燬方法,因此,頁面較大,較多,記憶體壓力會比較大 實際開發推薦使用 FragmentStatePagerAdapter 此介面卡 示例效果:

MySQL 索引概念

  大學學習資料庫時小編學的最不明白的就是索引,畢設時,答辯評審老師問優化資料庫查詢速度的方法,小編戰戰戰剋剋剋剋的答了“索引” ,沒想到,老師竟然誇小編資料庫學的很紮實,幸虧沒有在往下問“在你的專案中如何使用索引”,不然真的跪了。   於是,小編下定決心,一探索引的究竟。 ---------------

資料庫索引Oracle和MySql

索引概念 索引是關係資料庫中用於存放每一條記錄的一種物件,主要目的是加快資料的讀取速度和完整性檢查。建立索引是一項技術性要求高的工作。一般在資料庫設計階段得與資料庫結構一起考慮。應用系統的效能直接與索引的合理直接有關。 一.Oracle索引 1.索引型別 1)非唯一索引(最常用)UonUnique。

簡單談談資料庫索引轉載

什麼是索引   資料庫索引好比是一本書前面的目錄,能加快資料庫的查詢速度。 例如這樣一個查詢:select * from table1 where id=44。如果沒有索引,必須遍歷整個表,直到ID等於44的這一行被找到為止;有了索引之後(必須是在ID這一列上建立的索引)

資料庫 索引優化

1.索引作用 在索引列上,除了上面提到的有序查詢之外,資料庫利用各種各樣的快速定位技術,能夠大大提高查詢效率。特別是當資料量非常大,查詢涉及多個表時,使用索引往往能使查詢速度加快成千上萬倍。 例如,有3個未索引的表t1、t2、t3,分別只包含列c1、c2、c3,

面試總結資料庫索引、B樹、B+樹

1.  資料庫系統維護著滿足特定查詢演算法的資料結構,這些資料結構以某種方式引用(指向)資料,這樣就可以在這些資料結構上實現高階查詢演算法。這種資料結構,就是索引。索引的實現通常使用B樹及其變種B+樹。        建立索引可以大大提高系統的效能。        第一、

資料庫索引Oracle和Mysql學習總結

索引概念:     索引是關係資料庫中用於存放每一條記錄的一種物件,主要目的是加快資料的讀取速度和完整性檢查。建立索引是一項技術性要求高的工作。一般在資料庫設計階段的與資料庫結構一道考慮。應用系統的效能直接與索引的合理直接有關。 一、Oracle索引 1、索引型別 列

資料庫索引58,、蓋婭互娛、餓了麼、百度、貝殼金控、

資料庫索引(58,、蓋婭互娛、餓了麼、百度、貝殼金控、) 樓主要好好研究資料庫的索引,太多的面試都問道了 具體操作: 1.建立索引:新增聚集唯一索引 set nocount off create unique clustered index employedID(索引的名

資料庫索引的作用以及優缺點分析

 為什麼要建立索引呢?這是因為,建立索引可以大大提高系統的效能。   第一,通過建立唯一性索引,可以保證資料庫表中每一行資料的唯一性。   第二,可以大大加快資料的檢索速度,這也是建立索引的最主要的原因。   第三,可以加速表和表之間的連線,特別是在實現資料的參考完整性方面特

Java8新特性——lambda表達式.案例:完全數分類

完全 boolean lte arraylist efi def oid 輸入 class 需求:輸入一個數,判斷其類型(完全數,過剩數,不足數) 完全數:自身之外所有因數和==自身 過剩數:自身之外所有因數和>自身 不足數:自身之外所有因數和<自身 1 p

Think PHP遞歸獲取所有的子分類的ID 刪除當前及子分類

cti eid 刪除 error return code where arr pre 遞歸獲取所有的子分類的ID: //遞歸獲取所有的子分類的ID function get_all_child($array,$id){ $arr = array(); fo

機器學習知識點查漏補缺樸素貝葉斯分類

平滑 http 運算 貝葉斯公式 -s 目標 bubuko 思想 指數 一、基本模型 樸素貝葉斯分類模型的基本思想就是貝葉斯公式,對以特征為條件的各類別的後驗概率。 貝葉斯公式如下: 對標樸素貝葉斯分類模型的公式如下: 分子中的第二項為每個類別的概率(實際運算即頻

一文讀懂推薦系統知識體系-上概念、結構、演算法

  本文主要闡述: 推薦系統的3個W 推薦系統的結構 推薦引擎演算法 瀏覽後四章的內容請見下篇。 1. 推薦系統的3個W 1.1 是什麼(What is it?) 推薦系統就是根據使用者的歷史行為、社交關係、興趣點、所處上下文環境等資訊去