mysql 資料庫知識整理

2021-10-04 20:06:33 字數 1470 閱讀 6332

資料庫索引b+數,hash

b+數是乙個平衡大多叉樹,搜尋效率基本相當

雜湊索引 採用一定的雜湊演算法,把鍵值換成新的雜湊值,檢索時不需要類似b+

1、所有的非葉子節點只儲存關鍵字資訊。

2、所有衛星資料(具體資料)都存在葉子結點中。

3、所有的葉子結點中包含了全部元素的資訊。

4、所有葉子節點之間都有乙個鏈指標。

資料庫語言(dml、ddl、dcl、dql、tcl)

ddl 資料庫定義語言 create(建立表結構) drop(刪除表內容和定義) alter (修改表結構)

dml 資料庫操作語言 insert update delete(刪除資料)

dql 資料庫查詢語言 select

dcl 資料庫控制語言 grant revoke if else

tcl 事務控制 commit rollback

行級鎖 表級鎖,樂觀鎖

表級鎖:開銷小,加鎖快,不會出現死鎖。鎖定粒度大,發生鎖衝突的概率最高,併發量最低

行級鎖:開銷大,加鎖慢,會出現死鎖。鎖力度小,發生鎖衝突的概率小,併發度最高

樂觀鎖: 是用版本號控制,認為併發量少

儲存過程

儲存過程型別分為儲存過程 (procedure) 和儲存函式 (function)

一組可程式設計的函式,是為了完成特定功能的sql語句集,經編譯建立並儲存在資料庫中,使用者可通過指定儲存過程的名字並給定引數(需要時)來呼叫執行。

一些關鍵字

1) delimiter// 識別建立語句

2) procedure 儲存過程

3) call 呼叫

4) begin開始,以end結束

5) in輸入引數

6)out 輸出引數

7) inout 輸入輸出引數

drop truncate 和delete 區別

drop 1

truncate 2

delete

ddlddl

dml刪除資料+表結構

刪除資料

刪除資料

不記錄事務日誌

不記錄事務日誌

操作計入事務日誌(rollback)

執行速度》

執行速度》

執行速度》

範圍table

範圍table

範圍table,view

為什麼說b+tree這個結構能對查詢加速?全表掃瞄是怎麼做的?走索引是怎麼做的?

1)b+three 磁碟讀寫代價更低,內部節沒有指向具體資訊的指標。因此內部節點比b-three小,同一內部節點資訊存放磁碟快,容納關鍵字多,一次從記憶體讀出關鍵字多,減少io讀寫次數

2) b-three 遍歷效率低下的問題。b+three 只需要遍歷所有葉子節點就可以實現整棵樹的遍歷,範圍查詢b+three 支援的很好

3)所謂索引,即快速的定位和查詢,那麼索引的組織結構減少查詢過程的磁碟io的訪問次數

4) 區域性性原理,磁碟預讀。

知識整理(三) Mysql 資料庫知識

1.myisam和innodb的區別?答 myisam不支援事務和行級鎖,而且其最大的缺陷在於資料庫崩潰後無法安全恢復。2.事務的四大特性 答 acid 原子性 事務是最小執行單元,要麼全部成功,要麼全部失敗。一致性 事務改變的資料,前後要一致。隔離性 併發操作時,當乙個事務在執行時,外界無法操作它...

mysql資料庫整理

mysql做分頁查詢 1 select from tablename limit 5,10 檢索記錄行6 10 2 為了檢索從某乙個偏移量到記錄集的結束所有的記錄行,可以指定第二個引數為 1 select from tablename limit 10,1 檢索記錄行11到末尾 3 如果只給定乙個引...

資料庫知識整理(一)

檢視 view 是從乙個或多個表 或 檢視 匯出的表。檢視與表 有時為與檢視區別,也稱表為基本表 base table 不同,檢視是乙個虛表,即檢視所對應的資料不進行實際儲存,資料庫中只儲存檢視的定義,在對檢視的資料進行操作時,系統根據檢視的定義去操作與檢視相關聯的基本表。建立檢視 create v...