儲存引擎:
mysql可以將資料以不同的技術儲存在檔案(記憶體)中,這種技術就稱為儲存引擎。
每一種儲存引擎使用不同的儲存機制、索引技巧、鎖定水平,最終提供廣泛且不同的功能。
mysql支援的儲存引擎:
myisam、innodb、memory、csv、archive
常用的:myisam、innodb
了解幾個知識點:
併發控制:當多個連線對記錄進行修改時保證資料的一致性和完整性。
例如:當乙個使用者要刪除一條記錄的同時,另一名使用者要檢視該條記錄,其結果有可能是檢視失敗或者是檢視到一條錯誤的結果。
解決辦法那? 就有了鎖機制、
鎖:a、共享鎖(讀鎖):在同一時間段內,多個使用者可以讀取同乙個資源,讀取過程中資料不會發生任何變化。
b、排他鎖(寫鎖):在任何時候只能有乙個使用者寫入資源,當進行寫鎖時會阻塞其他的讀鎖或者寫鎖操作。
只需要對修改的資料精確加鎖即可。
鎖顆粒(鎖定時的單位):
a、表鎖(開銷最小的鎖策略)
b、行鎖(開銷最大的鎖策略)
表鎖的開銷最小,因為使用鎖的個數最小(每個表只有乙個鎖)。
行鎖的開銷最大,因為可能使用鎖的個數比較多,也是支援最大併發處理。
事務處理:整個過程每乙個單元全部完成才算事務處理成功,某乙個單元失敗事務就會回滾.
主要作用:保證資料庫的完整性
事務的特性:原子性、一致性、隔離性、永續性
例子:比如使用者提現200,首先第一步要餘額減去200,第二步要新增一條提現記錄。
兩個步驟必須保證都完成。當作乙個整體來看待。
如果乙個沒完成,就會回滾到原來沒操作的狀態。
外來鍵:保證資料一致性的策略。關聯表使用的。
索引:是對資料表中一列或多列的值進行排序的一種結構。加快資料搜尋的。
特點:
1、使用最多的:myisam,innodb
2、myisam:適用於事務的處理不多的情況;
3、innodb:適用於事務處理比較多,需要有外來鍵支援的情況;
4、memery 儲存在記憶體當中,儲存資料量完全由記憶體決定
//兩種常用儲存引擎的比較
myisam : 儲存限制可達256tb,支援索引、表級鎖定、資料壓縮
innodb : 儲存限制為64tb,支援事務和索引,鎖顆粒為行鎖
設定表的儲存引擎:
這裡只介紹實用的兩種:
(1)通過修改mysql配置檔案實現
default-storage-engine = engine
(3)通過修改資料表命令實現
alter table table_name engine [=] engine_name;
例如:alter table tp1 engine = innodb;
總結:
常用的儲存引擎是myisam 和 innodb,根據業務的需要。
一般用innodb 多,因為很多功能都需要有事務的操作。
mysql的儲存引擎有 mysql儲存引擎有哪些?
儲存引擎是資料庫管理系統用來從資料庫建立 讀取和更新資料的軟體模組。mysql中有兩種型別的儲存引擎 事務型和非事務型。對於mysql 5.5及更高版本,預設的儲存引擎是innodb。在5.5版本之前,mysql的預設儲存引擎是myisam。那麼mysql儲存引擎有哪些?一 innodb 這是mys...
mysql儲存引擎 mysql儲存引擎簡介
精品推薦 什麼是儲存引擎 mysql儲存引擎是資料庫如何儲存資料 怎樣建立索引以及如何查詢更新資料等技術的實現方法,資料通過使用不同的技術儲存在檔案中,使用不同的儲存機制 索引方式來提供不同的功能。在mysql這種關係型資料中心來說,資料是以表的方式來儲存的,因此,簡單點來說,儲存引擎就是儲存和操作...
mysql個儲存引擎 MySQL儲存引擎
mysql資料庫的體系架構如下圖所示 從上圖中可以看出,mysql主要分為以下幾個元件 連線池元件 管理服務和工具元件 sql介面元件 分析器元件 優化器元件 緩衝元件 外掛程式式儲存引擎 物理檔案 儲存引擎 其實就是指定表如何儲存資料,如何為儲存的資料建立索引以及如何更新 查詢資料等技術實現的方法...