MySQL MySQL儲存引擎

2021-07-22 20:00:36 字數 1615 閱讀 6543

mysql可以將資料以不同的技術儲存在檔案(記憶體)中,這種技術就稱為儲存引擎。

每一種儲存引擎使用不同的儲存機制、索引技巧、鎖定水平、最終提供廣泛而不同的功能。

myisam

innodb

memory

csvarchive

併發控制

-當多個連線對記錄進行修改時保證資料的一致性和完整性。

共享鎖(讀鎖):在同乙個時間段內,多個使用者可以讀取同乙個資源,讀取過程中資料不會發生任何變化。 

排它鎖(寫鎖):在任何時候只能有乙個使用者寫入資源,當進行寫資源時會阻塞其他的讀鎖或者寫鎖操作。

鎖顆粒

表鎖,是一種開銷最小的鎖策略。

行鎖,是一種開銷最大的鎖策略。(可能每一行都需要鎖)

事務

事務用於保證資料庫的完整性。

事務的特性

原子性(atomicity):事務中的全部操作在資料庫中是不可分割的,要麼全部完成,要麼均不執行。

一致性(consistency):事務的一致性指的是在乙個事務執行之前和執行之後資料庫都必須處於一致性狀態。這種特性稱為事務的一致性。假如資料庫的狀態滿足所有的完整性約束,就說該資料庫是一致的。表b的字段是從表a獲取,表a的字段改變了,表b的相應欄位也需要改變,這就叫一致性。

例如完整性約束a+b=10,乙個事務改變了a,那麼b也應隨之改變。

隔離性(isolation):分離性指併發的事務是相互隔離的。即乙個事務內部的操作及正在操作的資料必須封鎖起來,不被其它企圖進行修改的事務看到。假如併發交叉執行的事務沒有任何控制,操縱相同的共享物件的多個併發事務的執行可能引起異常情況。

永續性(durability):永續性意味著當系統或介質發生故障時,確保已提交事務的更新不能丟失。即一旦乙個事務提交,dbms保證它對資料庫中資料的改變應該是永久性的,即對已提交事務的更新能恢復。永續性通過資料庫備份和恢復來保證。

外來鍵

是保證資料一致性的策略。

索引(普通索引、唯一索引、全文索引、btree索引、hash索引……)

對資料表中的一列或多列的值進行排序的一種結構。

各種儲存引擎的特點

修改mysql的儲存引擎

1.      通過修改mysql的配置檔案實現

default-storage-engine = engine

2.      通過建立資料表命令實現

create table table_name(

)engine = engine;

3.      通過修改資料表命令實現

alter table table_name enging [=] engine_name;

MySQL MySQL儲存引擎簡介

引入 在介紹完mysql的邏輯架構之後。我們發現mysql的一大亮點就是它的儲存引擎,我們可以根據我們開發中的實際要求去選用我們需要的儲存引擎進行對資料庫表的儲存操作。但是呢並不是所有的儲存引擎我們都會使用到,下面我們一起來看一下我們經常使用的倆個mysql儲存引擎innodb和myisam。儲存引...

MySql MySql中的儲存引擎 索引 事務

一 儲存引擎 mysql的儲存引擎是mysql底層對於檔案的一種訪問機制。儲存引擎的建立是基於表的。1.myisam 一 儲存引擎 myisam 是 mysql 的預設儲存引擎。myisam 不支援事務 也不支援外來鍵,支援全文索引。資料檔案和索引檔案放置在不同的目錄 非聚集索引 平均分布 i o,...

mysql MySQL儲存IP位址

首先就來闡明一下部分人得反問 為什麼要問ip得怎樣存,直接varchar型別不就得了嗎?其實做任何程式設計都要在功能實現的基礎上最大限度的優化效能。而資料庫設計是程式設計中不可忽略的乙個重要部分,所以巧存ip位址可以一定程度獲得很大提公升。在mysql中沒有直接提供ip型別字段,但如果有兩個函式可以...