資料庫知識梳理

2021-09-12 17:34:28 字數 1588 閱讀 9552

1.資料庫語句執行過程

- 客戶端

- 聯結器 -> 管理連線,許可權驗證

- 查詢快取 -> 命中快取,直接返回

- 分析器->詞法和語法分析

- 優化器 -> 生成執行計畫,索引選擇

- 執行器 -> 操作引擎,返回結果

2.資料庫引擎

- innodb

優點: 支援事務,外來鍵,行鎖.

缺點: 不儲存行數,查詢時需要掃瞄全部

- myisam

優點: 支援全文搜尋,頻繁查詢.效能快速,表鎖

缺點: 不支援事務,外來鍵等等,讀寫互斥,,當有大量更新時,查詢可能被阻塞

- isam

- heap

3.資料庫索引

原理:

使用b樹 或者 b+樹, 後者更加適合.

優點: 提高查詢速度.

缺點: 占用額外的物理空間,後期維護難,插入資料時,需要同步維護索引

- 主鍵索引(primary key)

- 唯一索引(unique key)

- 外來鍵索引(foreign key)

- 檢查索引(check key)

4.資料庫語言分類

- dql (資料庫查詢語言)

select

- dml (資料庫管理語言)

insert

update

delete

- ddl (資料定義語言)

create

- dcl (資料庫控制語言)

grant

5.儲存過程

優點:

一次建立,多次使用,呼叫簡單,可供外部程式使用.

在執行之前,語法和詞法分析已經完成,優化了執行順序,已經編譯好的sql語句,可以極大提高執行速度.

可以降低網路通訊量

缺點: 移植性差

觸發器是一種特殊的儲存過程, 主要通過事件觸發來執行.

6.事務

事務的四大特性acid

a.原子性

要不全部執行,要麼失敗,全部回滾.

c.一致性

保證資料執行前後的一致性.

i.隔離性

多個使用者併發訪問同乙個表,資料庫為每乙個使用者開啟的事務都不能被其他使用者事務干擾.

多個併發事務,要相互隔離.

d.永續性

事務一旦提交,對資料的改變是永久性的.

隔離級別:

1. serializable (序列化):可避免髒讀、不可重複讀、幻讀的發生。

2. repeatable read (可重複讀):可避免髒讀、不可重複讀的發生。

3. read committed (讀已提交):可避免髒讀的發生。

4. read uncommitted (讀未提交):最低級別,任何情況都無法保證。

資料庫知識梳理

用了8天的時間,把資料庫又簡單的看了一遍,能留下印象的,並不多。也許,知識,也需要反覆的咀嚼。我的意識裡,知識,應該先記住,才會用。所以,我想先把它們變成自己的,然後,再消化,吸收。資料庫,只看了平時用到的最多的部分,沒有把所有的理論都看完。在我的腦海裡,資料庫知識包括以下內容 1 ddl語言 資料...

MySQL資料庫相關知識梳理

mysql基本知識梳理int stdcall mysql query mysql mysql,const char q 連線上資料庫後,將連線上資料庫額控制代碼和執行的sql語句傳入到函式中即可執行該語句。mysql res res res mysql store result mysql mysq...

資料庫知識點梳理

rdbms mysql 主 oracle,pg,sql server 了解 安裝,基本連線使用,備份恢復,高可用,集群。redis,mongodb,es mysql 5.6,5.7.20 二進位制,rpm,原始碼包5.6 到8.0 5.6 到5.7mysql master thread 幹活的執行緒...