sql語句 索引介紹

2021-09-12 19:43:28 字數 1095 閱讀 5696

目錄

一、基本概念

1.查詢複雜度:查詢的次數

2.排序的目的就是為了高效的查詢

3.資料結構:樹結構 tree

二、索引

1.索引概念

2.b+數

3.索引其實就是一種資料結構,可以加快我們的查詢速率

4.使用索引的區間

測試複雜度,使用的是悲觀態度,複雜度用o(x)表示

常規的查詢:順序查詢;

安裝順序,查詢到結果為結束。

複雜度為o(n)

對於mysql任意一張表,常規使用的查詢方法也是順序查詢

查詢方法

複雜度o(x)

順序查詢

o(n)

二叉樹o(logn)

根內部結點:有子結點的結點

葉子結點:沒有子結點的結點

mysql為了優化查詢,提出了索引概念

當使用者建立索引的時候,mysql首先複製資料,完成乙個新的資料結構(btree平衡樹),mysql索引預設用的時候b+tree結構

平衡樹:左右兩樹的結點的高度相差不能超過1(0 -1 1)

(1)必須有根節點

根節點為空或者只有乙個記錄和有兩個子節點(二叉樹)

(2)每個節點當做key和指標相互分割,指標指向子節點

(3)d表示樹的寬度,除葉子結點之外,其他的每個節點有[d/2,d-1]條資料,而且key從做導遊,從小到大排列

(4)在乙個節點當做,第n個子樹所有的key,小於這個節點當做的第n個key,大於這個節點當做的第n-1個key

(5)所有的葉子結點必須在同一層次

(6)複雜度:二分查詢 o(logn)

建立索引需要複製資料,會占用資源

可以加快查詢,但是會把表變得很大

當我們使用索引後,查詢指定資料,返回的資料是總資料的3%~5%,我們認為是合適的

少量的資料不適合索引

sql語句優化五(索引的介紹)

一 索引的介紹 sql索引在資料庫優化中占有乙個非常大的比例,乙個好的索引的設計,可以讓你的效率提高幾十甚至幾百倍,在這裡將帶你一步步揭開他的神秘面紗。sql索引有兩種,聚集索引和非聚集索引,索引主要目的是提高了sql server系統的效能,加快資料的查詢速度與減少系統的響應時間 下面舉兩個簡單的...

精妙sql語句介紹

說明 複製表 只複製結構,源表名 a 新錶名 b sql select into b from a where 1 1 說明 拷貝表 拷貝資料,源表名 a 目標表名 b sql insert into b a,b,c select d,e,f from b sql select a.title,a....

精妙SQL語句介紹

說明 複製表 只複製結構,源表名 a 新錶名 b sql select into b from a where 1 1 說明 拷貝表 拷貝資料,源表名 a 目標表名 b sql insert into b a,b,c select d,e,f from b sql select a.title,a....