資料庫索引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...