(4 45)資料庫程式設計中的三種效能模式比較

2022-02-14 12:44:02 字數 635 閱讀 1800

資料庫系統效能很重要,這點人所共知。為了取得資料庫系統的高效能,開發人員經常被告誡要用集合思維,不要用過程化思維來運算元據庫。

這種說法理論上很正確,但是很多人覺得太抽象,不好理解。本短文試圖用一種簡單又易懂的方式來闡明其中的道理,以助有關開發人員在編碼時盡可能地寫出高效能**。

本文超市購物 ( 購買十件商品 ) 來模擬資料庫訪問,從而揭示出集合思維和過程化思維的實質性區別所在。

圖一 超市購物和資料庫操作的動作序列對比

從圖一可知,第一類 a 和第二類 b ,就是過程性的思維方式,只有第三類 c 才是集合操作的思維方式。

很顯然,也只有第三類 c 的資料庫效能是最佳的,第一類 a 的資料庫效能為最差,第二類 b 次之。

當然從計算機本質來說,有人會說,最後都是過程性處理方式啊,因為最後都會轉化機器指令,全都是一條一條逐條執行。

這麼講,雖然有抬槓的味道,但是道理也對。

不過呢,區別在於:第一類 a 和第二類 b ,除了真正需要的資料庫操作之外,包含了很多的無用操作,大大延長了處理時間(等於延長了鎖的持續時間),和超市購物一比較,就很顯然了,這裡就不重複細說了。

**:

資料庫三種正規化

正規化是符合某一種級別的關係模式的集合。關聯式資料庫中的關係必須 滿足一定的要求。滿足最低要求的叫第一正規化,簡稱1nf,在第一正規化基礎上進一步滿足一些要求的為第二正規化,簡稱2nf。其餘依此類推,目前有六種範 式 1nf,2nf,3nf,bcnf,4nf,5nf。1 第一正規化 1nf 在任何乙...

資料庫三種事務

什麼是事務 是不可分割的邏輯單元,由多個操作部分組成 select getdate 函式 1.自動提交事務 insert update delete都是自動提交事務 比如乙個學生表和班級表有外來鍵約束 只刪掉班級表的資料是執行不了的 insert into student values 張三 男 2...

資料庫三種事務

1 什麼是事務?不可分割的邏輯單元,由多個操作組成。a.自動提交事務 b.顯示事務 c.隱式事務 建立資料庫 倉庫 表 貨架 字段 商品格仔 結構 1 建立表和插入測試資料 2create database bankdb 3use bankdb4 5create table bank 6 banki...