MySQL中索引一遍過

2021-10-23 23:25:18 字數 1983 閱讀 9990

mysql中ddl的操作方法

mysql中的dml操作

點了五根煙,終於把mysql中查詢操作(dql)搞懂了!

mysql中資料完整性徹底解析

mysql多表查詢一遍打通

mysql中子查詢看不明白?那就得好好練

一些我們在mysql中常用的函式

讓我們來聊聊mysql中的許可權操作

mysql中關於檢視的一點兩點

mysql中的儲存過程一路通關!

mysql中索引一遍過

索引用於快速找出在某個列種有一特定值的行。

不使用索引,mysql必須從第一條記錄開始遍歷完整個表,直到找出相關的行。

表越大,查詢資料所花費的時間越多。

如果表中查詢的列有乙個索引,mysql能夠快速到乙個位置去搜尋資料檔案。

不必檢視所有的資料,那麼將會節省很大一部分時間

1. 優勢

類似大學圖書館建立書目索引,提高資料檢測效率,降低資料庫的io成本。

通過索引對資料進行排序,降低資料排序的成本,降低cpu的消耗。

2. 劣勢

實際上索引也是一張表,該錶儲存了主鍵與索引字段,並指向實體表的記錄,所以索引也是佔空間的。

雖然索引大大提高了查詢速度,同時卻會降低更新速度,如對表進行insert、update、delete。

單值索引: 即乙個索引值包含單個列,乙個表可以有多個單列索引。

唯一索引:索引列的值必須唯一,但允許有空值。

復合索引:乙個索引包含多個列。index multildx(id,name,age)全文索引: 只有在myisam引擎上才能使用,只能char,varchar,text型別欄位上使用全文索引。

1. 建立索引

create

index 索引名稱 on

table

(column1,column2,..

.);create

index salary_index on emp(salary)

;

2. 刪除索引
drop

index 索引名稱 on 表名;

3. 檢視索引
show

index

from 表名;

4. 自動建立索引

在表上定義了主鍵時,會自動建立乙個對應的唯一索引。

在表中定義了乙個外來鍵時,會自動建立乙個普通索引。

explain用來檢視索引是否正在被使用,並且輸出其使用的索引的資訊。

key:primary表示產生了索引,查詢時間變得非常快。

使用索引查詢資料時,會先對資料進行排序。然後會有兩種機制進行查詢。

1. btree樹索引

b+樹索引,b+樹是乙個平衡的多叉樹,從根節點到每個葉子結點的高度差值不超過1,而且同層級的結點間右指標相互鏈結。

2. hash索引

hash索引就是採用一定的雜湊演算法,把鍵值轉換成新的雜湊值,檢索時不需要類似b+樹那樣從根節點到葉子結點主機查詢,只需要依次哈西演算法即可立刻定位到相應的位置,速度非常快。

雜湊索引結構的很特殊,其檢索效率非常高,索引的檢索可以依次定位,不想btree索引需要從根結點到枝結點,最後才能訪問到葉結點這樣多次的io訪問,索引hash索引的查詢效率要遠高於btree索引,但是它只適用於memory資料庫引擎。

作業系統一遍過

寫一點os的基礎知識,面試中持續更新.基基礎知識 1.計算機硬體 輸入 輸出裝置,儲存器,運算器,控制器。2.三種基本os型別 批處理os 單道批處理 cpu利用率低 多道批處理 缺乏互動性 分時os 時間片輪轉分配 實時os 及時響應,高可靠性 3.最基本特徵 併發和共享 4.並行與併發 並行 真...

D語言中的algorithm過一遍

參考 在std.algorithm中提供了大量操作range的函式。一共分為六大類。一 searching 搜尋 1 all 判斷函式,是否集合中所有元素是否都符合條件 auto arr 1,3,5,7,9 auto ret1 arr.all f f 2 auto ret2 arr.all a 2 ...

帶你從頭到尾捋一遍MySQL索引結構

這次把資料庫中最核心的也是最難搞懂的內容,也就是索引,分享給大家。這篇部落格我會談談對於索引結構我自己的看法,以及分享如何從零開始一層一層向上最終理解索引結構。從乙個簡單的表開始 create table user id int primary key,age int,height int,weig...