网站黄色在线观看视频,男人和女人操逼有免费的视频吗2018高清,91熟女丨老女人丨高潮丰满,丝袜高潮流白浆潮喷在线播放

中國站

中國站

國際版

聯(lián)系我們

400-002-9968

售前咨詢

售后服務(wù)

注冊 登錄

博客 > MySQL知識(shí):MySQL存儲(chǔ)引擎、鎖機(jī)制、事務(wù)處理知識(shí)匯總

MySQL知識(shí):MySQL存儲(chǔ)引擎、鎖機(jī)制、事務(wù)處理知識(shí)匯總

  • 標(biāo)簽:
  • MySQL
  • 存儲(chǔ)引擎
  • 鎖機(jī)制
  • MySQL事務(wù)處理
  • MySQL觸發(fā)器

瀏覽量:1102次評論:0次

作者:銳成網(wǎng)絡(luò)整理時(shí)間:2024-07-15 17:10:21

MySQL是當(dāng)前主流的開源關(guān)系型數(shù)據(jù)庫管理系統(tǒng)之一,大多數(shù)的網(wǎng)站和應(yīng)用程序都在使用它。今天我們匯總了MySQL存儲(chǔ)引擎、鎖機(jī)制、事務(wù)處理等相關(guān)知識(shí),以下是全部內(nèi)容。

MySQL知識(shí):MySQL存儲(chǔ)引擎、鎖機(jī)制、事務(wù)處理知識(shí)匯總

一、MySQL存儲(chǔ)引擎

1、InnoDB存儲(chǔ)引擎

  • 默認(rèn)事務(wù)型引擎,最重要最廣泛的存儲(chǔ)引擎,性能非常優(yōu)秀。
  • 數(shù)據(jù)存儲(chǔ)在共享表空間,可以通過配置分開。也就是多個(gè)表和索引都存儲(chǔ)在一個(gè)表空間中,可以通過配置文件改變此配置。
  • 對主鍵查詢的性能高于其他類型的存儲(chǔ)引擎。
  • 內(nèi)部做了很多優(yōu)化,從磁盤讀取數(shù)據(jù)時(shí)會(huì)自動(dòng)構(gòu)建hash索引,插入數(shù)據(jù)時(shí)自動(dòng)構(gòu)建插入緩沖區(qū)。
  • 通過一些機(jī)制和工具支持真正的熱備份。
  • 支持崩潰后的安全恢復(fù)。
  • 支持行級(jí)鎖。
  • 支持外鍵。

2、MyISAM存儲(chǔ)引擎

  • 擁有全文索引、壓縮、空間函數(shù)。
  • 不支持事務(wù)和行級(jí)鎖、不支持崩潰后的安全恢復(fù)。
  • 表存儲(chǔ)在兩個(gè)文件,MYD和MYI。
  • 設(shè)計(jì)簡單,某些場景下性能很好,例如獲取整個(gè)表有多少條數(shù)據(jù),性能很高。
  • 全文索引不是很常用,不如使用外部的ElasticSearch或Lucene。

3、其他表引擎

Archive、Blackhole、CSV、Memory

4、使用策略

在大多數(shù)場景下建議使用InnoDB存儲(chǔ)引擎。

二、MySQL鎖機(jī)制

表鎖是日常開發(fā)中的常見問題,當(dāng)多個(gè)查詢同一時(shí)刻進(jìn)行數(shù)據(jù)修改時(shí),就會(huì)產(chǎn)生并發(fā)控制的問題。共享鎖和排他鎖,就是讀鎖和寫鎖。

  • 共享鎖,不堵塞,多個(gè)用戶可以同時(shí)讀一個(gè)資源,互不干擾。
  • 排他鎖,一個(gè)寫鎖會(huì)阻塞其他的讀鎖和寫鎖,這樣可以只允許一個(gè)用戶進(jìn)行寫入,防止其他用戶讀取正在寫入的資源。

鎖的粒度

  • 表鎖,系統(tǒng)開銷最小,會(huì)鎖定整張表,MyIsam使用表鎖。
  • 行鎖,最大程度的支持并發(fā)處理,但是也帶來了最大的鎖開銷,InnoDB使用行鎖。

三、MySQL事務(wù)處理

MySQL提供事務(wù)處理的表引擎,也就是InnoDB。

服務(wù)器層不管理事務(wù),由下層的引擎實(shí)現(xiàn),所以同一個(gè)事務(wù)中,使用多種引擎是不靠譜的。

需要注意,在非事務(wù)表上執(zhí)行事務(wù)操作,MySQL不會(huì)發(fā)出提醒,也不會(huì)報(bào)錯(cuò)。

四、MySQL存儲(chǔ)過程

為以后的使用保存的一條或多條MySQL語句的集合,因此也可以在存儲(chǔ)過程中加入業(yè)務(wù)邏輯和流程。

可以在存儲(chǔ)過程中創(chuàng)建表,更新數(shù)據(jù),刪除數(shù)據(jù)等等。

使用策略

可以通過把SQL語句封裝在容易使用的單元中,簡化復(fù)雜的操作

可以保證數(shù)據(jù)的一致性

可以簡化對變動(dòng)的管理

五、MySQL觸發(fā)器

MySQL觸發(fā)器提供給程序員和數(shù)據(jù)分析員來保證數(shù)據(jù)完整性的一種方法,它是與表事件相關(guān)的特殊的存儲(chǔ)過程。使用場景:

  • 可以通過數(shù)據(jù)庫中的相關(guān)表實(shí)現(xiàn)級(jí)聯(lián)更改。
  • 實(shí)時(shí)監(jiān)控某張表中的某個(gè)字段的更改而需要做出相應(yīng)的處理。
  • 例如可以生成某些業(yè)務(wù)的編號(hào)。

注意不要濫用,否則會(huì)造成數(shù)據(jù)庫及應(yīng)用程序的維護(hù)困難。

重要聲明:本文來自SQL數(shù)據(jù)庫開發(fā),經(jīng)授權(quán)轉(zhuǎn)載,版權(quán)歸原作者所有,不代表銳成觀點(diǎn),轉(zhuǎn)載的目的在于傳遞更多知識(shí)和信息。

我的評論

還未登錄?點(diǎn)擊登錄

微信掃碼溝通
微信掃碼溝通

微信掃碼溝通

AI
return head