第九章 MySQL存儲引擎

課程回顧

1.存儲過程:是SQL語句和控制語句的預(yù)編譯集合溜畅,以一個名稱存儲并作為一個單元處理。
2.參數(shù):輸入類型、輸出類型、輸入&&輸出類型
3.創(chuàng)建:CREATE...PROCEDURE...
4.注意事項:

  • 創(chuàng)建存儲過程或者自定義函數(shù)時需要通過delimiter語句修改定界符
  • 如果函數(shù)體或過程體有多個語句虽另,需要包含在BEGIN...END語句塊中
  • 存儲過程通過call調(diào)用

存儲引擎簡介

查看數(shù)據(jù)表的創(chuàng)建命令:SHOW CREATE table tbl_name
使用SHOW CREATE TABLE t;命令查看創(chuàng)建表t的命令,可以看到ENGINE=InnoDB這就是存儲引擎

存儲引擎:MySQL可以將數(shù)據(jù)以不同的技術(shù)存儲在文件(內(nèi)存)中性含,這種技術(shù)就稱為存儲引擎。

每一種存儲引擎使用不同的存儲機制鸳惯、索引技巧商蕴、鎖定水平,最終提供廣泛且不同的功能芝发。

MySQL支持的存儲引擎:
存儲引擎:

  • MyISAM
  • InnoDB
  • Memory
  • CSV
  • Archive

相關(guān)知識點之并發(fā)處理

并發(fā)控制:當多個連接對記錄進行修改時保證數(shù)據(jù)的一致性和完整性绪商。

例如兩個客戶端同時進行讀取和刪除操作,就會產(chǎn)生并發(fā)問題

在解決并發(fā)問題時辅鲸,系統(tǒng)會使用一套鎖系統(tǒng)

鎖:

  • 共享鎖(讀鎖):在同一時間段內(nèi)格郁,多個用戶可以讀取同一個資源,讀取過程中數(shù)據(jù)不會發(fā)生任何變化独悴。
  • 排它鎖(寫鎖):在任何時候只能有一個用戶寫入資源例书,當進行寫鎖時會阻塞其他的讀鎖或者寫鎖操作滔金。

鎖的粒度(顆粒):鎖定的單位盾剩,只需要對修改的數(shù)據(jù)加鎖髓介,無需對所有資源加鎖

加鎖會增加MySQL系統(tǒng)的開銷炎滞,所以可以通過鎖策略在鎖開銷和數(shù)據(jù)安全之間尋求一種平衡

鎖顆粒:

  • 表鎖错英,是一種開銷最小的策略鎖免都。當用戶對數(shù)據(jù)表操作時启绰,就可以獲得寫權(quán)限满粗,寫鎖會禁止其他用戶進行讀寫操作爱谁。如果對數(shù)據(jù)表加上表所晒喷,其他所有用戶都將無法操作,也就是這張表只能有一個鎖
  • 行鎖访敌,是一種開銷最大的策略鎖凉敲。也是支持最大并發(fā)操作處理的情況。行鎖可能對于數(shù)據(jù)表中的每一條記錄都加鎖寺旺,所以是一種開銷最大的鎖策略荡陷。

相關(guān)知識點之事務(wù)處理

事務(wù)是數(shù)據(jù)庫區(qū)別于文件系統(tǒng)的重要特征之一
事務(wù)用于保證數(shù)據(jù)庫的完整性

Paste_Image.png

實現(xiàn)步驟:
1.從當前賬戶減掉200元(賬戶余額大于等于200元)
2.在對方賬戶增加200元

這兩個過程應(yīng)該作為一個整體看待,這兩個過程無論哪一個出現(xiàn)問題迅涮,都應(yīng)該將數(shù)據(jù)恢復(fù)為原始狀態(tài)

事務(wù)的特性

  • 原子性(Atomicity)
  • 一致性(Consistency)
  • 隔離性(Isolation)
  • 持久性(Durability)

相關(guān)知識點之外鍵和索引

外鍵:保證數(shù)據(jù)一致性的策略
索引:對數(shù)據(jù)表中一列或多列的值進行排序的一種結(jié)構(gòu)
使用索引可以快速的訪問數(shù)據(jù)庫中的一些信息废赞,是進行快速記錄的一種方法,類似于書的目錄
索引分類:普通索引叮姑、唯一索引唉地、全文索引据悔、btree索引、hash索引等

各個存儲引擎的特點

各個存儲引擎的特點就是根據(jù)以上這些特性劃分的


Paste_Image.png

通常用的多的是MyISAM和InooDB存儲引擎
MyISAM:適用于事務(wù)的處理不多的情況
InooDB:適用于事務(wù)處理較多耘沼,需要有外鍵支持的情況

其他存儲引擎:用的不多

  • CSV:是由'极颓,'分割的存儲引擎,他會在數(shù)據(jù)庫子目錄中為每一個表創(chuàng)建一個.csv的文件群嗤,.csv文件是一種普通文本文件菠隆,每一個數(shù)據(jù)行占用一個文本行,csv存儲引擎不支持索引
  • BlackHole:黑洞引擎狂秘,寫入的數(shù)據(jù)都會消失骇径,一般用于數(shù)據(jù)復(fù)制的中繼

設(shè)置存儲引擎

方法一:修改配置文件
通過修改MySQL配置文件實現(xiàn):
default-storage-engine = engine

在MySQL5.5版本中默認使用的是InooDB

方法二:創(chuàng)建數(shù)據(jù)表命令實現(xiàn)
通過創(chuàng)建數(shù)據(jù)表命令實現(xiàn)
CREATE TABLE table_name(
...
...
) ENGINE = engine;

示例演示:創(chuàng)建一張表并把存儲引擎設(shè)置為MyISAM

CREATE TABLE tp1(
s1 VARCHAR(10)
) ENGINE = MyISAM;

使用SHOW CREATE TABLE tp1;查看創(chuàng)建數(shù)據(jù)表的命令可以看到存儲引擎已經(jīng)被修改成了 MyISAM

通過修改數(shù)據(jù)表的命令實現(xiàn):
ALTER TABLE table_name ENGINE [=] engine_name;

ALTER TABLE tp1 ENGINE = InnoDB;#修改tp1表的存儲引擎為InooDB
使用SHOW CREATE TABLE tp1;查看創(chuàng)建數(shù)據(jù)表的命令可以看到存儲引擎已經(jīng)被修改成了 InnoDB

總結(jié):
主要的存儲引擎:
MyISAM:存儲限制可達256TB,支持索引者春、表級鎖定破衔、數(shù)據(jù)壓縮。
InnoDB:存儲限制為64TB钱烟,支持事務(wù)和索引晰筛,鎖顆粒為行鎖。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末拴袭,一起剝皮案震驚了整個濱河市读第,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌拥刻,老刑警劉巖卦方,帶你破解...
    沈念sama閱讀 216,651評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異泰佳,居然都是意外死亡盼砍,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,468評論 3 392
  • 文/潘曉璐 我一進店門逝她,熙熙樓的掌柜王于貴愁眉苦臉地迎上來浇坐,“玉大人,你說我怎么就攤上這事黔宛〗酰” “怎么了?”我有些...
    開封第一講書人閱讀 162,931評論 0 353
  • 文/不壞的土叔 我叫張陵臀晃,是天一觀的道長觉渴。 經(jīng)常有香客問我,道長徽惋,這世上最難降的妖魔是什么案淋? 我笑而不...
    開封第一講書人閱讀 58,218評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮险绘,結(jié)果婚禮上踢京,老公的妹妹穿的比我還像新娘誉碴。我一直安慰自己,他們只是感情好瓣距,可當我...
    茶點故事閱讀 67,234評論 6 388
  • 文/花漫 我一把揭開白布黔帕。 她就那樣靜靜地躺著,像睡著了一般蹈丸。 火紅的嫁衣襯著肌膚如雪成黄。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,198評論 1 299
  • 那天逻杖,我揣著相機與錄音奋岁,去河邊找鬼。 笑死弧腥,一個胖子當著我的面吹牛厦取,可吹牛的內(nèi)容都是我干的潮太。 我是一名探鬼主播管搪,決...
    沈念sama閱讀 40,084評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼铡买!你這毒婦竟也來了更鲁?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,926評論 0 274
  • 序言:老撾萬榮一對情侶失蹤奇钞,失蹤者是張志新(化名)和其女友劉穎澡为,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體景埃,經(jīng)...
    沈念sama閱讀 45,341評論 1 311
  • 正文 獨居荒郊野嶺守林人離奇死亡媒至,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,563評論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了谷徙。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片拒啰。...
    茶點故事閱讀 39,731評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖完慧,靈堂內(nèi)的尸體忽然破棺而出谋旦,到底是詐尸還是另有隱情,我是刑警寧澤屈尼,帶...
    沈念sama閱讀 35,430評論 5 343
  • 正文 年R本政府宣布册着,位于F島的核電站,受9級特大地震影響脾歧,放射性物質(zhì)發(fā)生泄漏甲捏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,036評論 3 326
  • 文/蒙蒙 一鞭执、第九天 我趴在偏房一處隱蔽的房頂上張望摊鸡。 院中可真熱鬧绽媒,春花似錦、人聲如沸免猾。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,676評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽猎提。三九已至获三,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間锨苏,已是汗流浹背疙教。 一陣腳步聲響...
    開封第一講書人閱讀 32,829評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留伞租,地道東北人贞谓。 一個月前我還...
    沈念sama閱讀 47,743評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像葵诈,于是被迫代替她去往敵國和親裸弦。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,629評論 2 354

推薦閱讀更多精彩內(nèi)容